Browse Source

Manually runnable modules test

pull/883/head
Ross McFarland 4 years ago
parent
commit
97c49d1152
No known key found for this signature in database GPG Key ID: 943B179E15D3B22A
2 changed files with 76 additions and 0 deletions
  1. +44
    -0
      .github/workflows/modules.yml
  2. +32
    -0
      script/test-module

+ 44
- 0
.github/workflows/modules.yml View File

@ -0,0 +1,44 @@
name: OctoDNS Modules
on: []
jobs:
ci:
runs-on: ubuntu-latest
strategy:
matrix:
modules:
- octodns/octodns-azure
- octodns/octodns-cloudflare
- octodns/octodns-constellix
- octodns/octodns-ddns
- octodns/octodns-digitalocean
- octodns/octodns-dnsimple
- octodns/octodns-dnsmadeeasy
- octodns/octodns-dyn
- octodns/octodns-easydns
- octodns/octodns-edgedns
- octodns/octodns-etchosts
- octodns/octodns-gandi
- octodns/octodns-gcore
- octodns/octodns-googlecloud
- octodns/octodns-hetzner
- octodns/octodns-mythicbeasts
- octodns/octodns-ns1
- octodns/octodns-ovh
- octodns/octodns-powerdns
- octodns/octodns-rackspace
- octodns/octodns-route53
- octodns/octodns-selectel
- octodns/octodns-transip
- octodns/octodns-ultra
steps:
- uses: actions/checkout@master
- name: Setup python
uses: actions/setup-python@v1
with:
# This should generally be the latest stable release of python
python-version: '3.10'
architecture: x64
- name: Test Module
run: |
./script/test-module ${{ matrix.module }}

+ 32
- 0
script/test-module View File

@ -0,0 +1,32 @@
#!/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 #############################################"
pip install -e .[dev]
export PYTHONPATH=.:$PYTHONPATH
echo "## run module tests ############################################################"
pytest --disable-network
echo "## complete ####################################################################"

Loading…
Cancel
Save