You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

62 lines
1.8 KiB

name: OctoDNS
on: [pull_request]
jobs:
config:
runs-on: ubuntu-latest
outputs:
json: ${{ steps.load.outputs.json }}
steps:
- id: load
uses: actions/checkout@v4
run: |
JSON=$(cat ./.python-versions.json)
echo "::set-output name=json::${JSON}"
ci:
needs: config
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# 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
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install virtualenv
- name: CI Build
run: |
./script/cibuild
- name: Store Code Coverage Data
# if the previous step(s) failed try anyways
if: always()
uses: actions/upload-artifact@v3
with:
name: code-coverage-${{ matrix.python-version }}
path: |
.coverage
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:
# 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: |
./script/cibuild-setup-py