diff --git a/.ci-config.json b/.ci-config.json new file mode 100644 index 0000000..0e8eac4 --- /dev/null +++ b/.ci-config.json @@ -0,0 +1,4 @@ +{ + "python_version_current": "3.11", + "python_versions_active": ["3.8", "3.9", "3.10", "3.11"] +} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 079730d..32d3181 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,14 +2,29 @@ name: OctoDNS on: [pull_request] jobs: + config: + runs-on: ubuntu-latest + outputs: + json: ${{ steps.load.outputs.json }} + steps: + - uses: actions/checkout@v4 + - id: load + # based on https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings + run: | + { + echo 'json<> $GITHUB_OUTPUT ci: + needs: config runs-on: ubuntu-latest strategy: fail-fast: false matrix: - # Defined in an org level variable, based on dates in - # https://devguide.python.org/versions/#versions - python-version: ${{fromJson(vars.PYTHON_VERSIONS_ACTIVE)}} + # Defined in a file that resides in the top level of octodns/octodns, + # based on dates in https://devguide.python.org/versions/#versions + python-version: ${{ fromJson(needs.config.outputs.json).python_versions_active }} steps: - uses: actions/checkout@v4 - name: Setup python @@ -36,13 +51,15 @@ jobs: coverage.xml htmlcov setup-py: + needs: config runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup python uses: actions/setup-python@v4 with: - python-version: ${{ vars.PYTHON_VERSION_CURRENT }} + # Most recent release from https://devguide.python.org/versions/#versions + python-version: ${{ fromJson(needs.config.outputs.json).python_version_current }} architecture: x64 - name: CI setup.py run: | diff --git a/.github/workflows/modules.yml b/.github/workflows/modules.yml index 940abc1..9d6e767 100644 --- a/.github/workflows/modules.yml +++ b/.github/workflows/modules.yml @@ -5,7 +5,22 @@ on: types: [submitted] jobs: + config: + runs-on: ubuntu-latest + outputs: + json: ${{ steps.load.outputs.json }} + steps: + - uses: actions/checkout@v4 + - id: load + # based on https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings + run: | + { + echo 'json<> $GITHUB_OUTPUT ci: + needs: config runs-on: ubuntu-latest strategy: fail-fast: false @@ -46,7 +61,7 @@ jobs: - name: Setup python uses: actions/setup-python@v4 with: - python-version: ${{ vars.PYTHON_VERSION_CURRENT }} + python-version: ${{ fromJson(needs.config.outputs.json).python_version_current }} architecture: x64 - name: Test Module run: |