diff --git a/.github/workflows/modules.yml b/.github/workflows/modules.yml index e0c052e..223feee 100644 --- a/.github/workflows/modules.yml +++ b/.github/workflows/modules.yml @@ -11,7 +11,9 @@ jobs: fail-fast: false matrix: module: + - asyncon/octoblox - octodns/octodns-azure + - octodns/octodns-bind - octodns/octodns-cloudflare - octodns/octodns-constellix - octodns/octodns-ddns @@ -35,6 +37,7 @@ jobs: - octodns/octodns-selectel - octodns/octodns-transip - octodns/octodns-ultra + - sukiyaki/octodns-netbox steps: - uses: actions/checkout@master - name: Setup python diff --git a/script/test-module b/script/test-module index dff26e8..8148d73 100755 --- a/script/test-module +++ b/script/test-module @@ -25,8 +25,26 @@ cd $TMP_DIR git clone "https://github.com/${module}.git" cd $(basename $module) echo "## install module dev requirements #############################################" -pip install -e .[dev] -export PYTHONPATH=.:$PYTHONPATH +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 ############################################################" -pytest --disable-network +export PYTHONPATH=.:$PYTHONPATH +if [ -e setup.py ]; then + pytest --disable-network +elif [ -f poetry.toml ]; then + poetry run pytest [] +fi echo "## complete ####################################################################"