mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Rename ./script/test-module to ./script/cibuild-module for consistency
This commit is contained in:
50
script/cibuild-module
Normal file
50
script/cibuild-module
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
|
||||
module="$1"
|
||||
if [ -z "$module" ]; then
|
||||
echo "Missing required parameter module, e.g. octodns/octodns-powerdns"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
TMP_DIR=$(mktemp -d -t ci-XXXXXXXXXX)
|
||||
|
||||
echo "## venv ########################################################################"
|
||||
VENV_PYTHON=$(command -v python3)
|
||||
VENV_NAME="${TMP_DIR}/env"
|
||||
"$VENV_PYTHON" -m venv "$VENV_NAME"
|
||||
. "${VENV_NAME}/bin/activate"
|
||||
echo "## environment & versions ######################################################"
|
||||
python --version
|
||||
pip --version
|
||||
echo "## install octodns from pwd ####################################################"
|
||||
python setup.py install
|
||||
echo "## checkout provider module ####################################################"
|
||||
cd $TMP_DIR
|
||||
git clone "https://github.com/${module}.git"
|
||||
cd $(basename $module)
|
||||
echo "## install module dev requirements #############################################"
|
||||
if [ -e setup.py ]; then
|
||||
pip install -e .[dev] pytest-network
|
||||
elif [ -f pyproject.toml ]; then
|
||||
# install poetry
|
||||
pip install poetry
|
||||
# make sure that poetry doesn't blow away our locally installed octodns
|
||||
sed -i'.bak' '/^octodns =/d' pyproject.toml
|
||||
# now install all the deps
|
||||
poetry install --no-root -v
|
||||
else
|
||||
echo "Unrecognized module management. Supports setup.py and poetry"
|
||||
exit 1
|
||||
fi
|
||||
echo "## installed modules ###########################################################"
|
||||
pip freeze
|
||||
echo "## run module tests ############################################################"
|
||||
export PYTHONPATH=.:$PYTHONPATH
|
||||
if [ -e setup.py ]; then
|
||||
pytest --disable-network
|
||||
elif [ -f poetry.toml ]; then
|
||||
poetry run pytest []
|
||||
fi
|
||||
echo "## complete ####################################################################"
|
||||
Reference in New Issue
Block a user