#!/bin/sh set -e cd "$(dirname "$0")/.." VERSION="$(grep "^__version__" "./octodns/__init__.py" | sed -e "s/.* = '//" -e "s/'$//")" echo "## create test venv ############################################################" TMP_DIR=$(mktemp -d -t ci-XXXXXXXXXX) python3 -m venv $TMP_DIR . "$TMP_DIR/bin/activate" pip install build setuptools echo "## environment & versions ######################################################" python --version pip --version echo "## validate setup.py build #####################################################" python -m build --sdist --wheel echo "## validate wheel install ###################################################" pip install dist/*$VERSION*.whl echo "## validate tests can run against installed code ###############################" # filename needs to resolved independently as pip requires quoting and doesn't support # wildcards when installing extra requirements # (see: https://pip.pypa.io/en/stable/user_guide/#installing-from-wheels) wheel_file=$(ls dist/*$VERSION*.whl) pip install "${wheel_file}[test]" pytest --disable-network echo "## complete ####################################################################"