Skip to content

Overhaul CI

Overhaul CI #12

name: 'ALL: Run tests on current Python'
on:
- push
- pull_request
jobs:
load_constants:
name: Load constants
uses: ./.github/workflows/constants.yml
current_python_tests:
name: Run on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ['ubuntu-latest', 'windows-latest']
if: ${{ github.event_name }} != 'push' || ${{ github.event.pull_request.merged }} == false
needs: load_constants
steps:
- name: Debug the constants outputs
run: echo "${{ toJson(needs.load_constants.outputs) }}"
- name: Check out repo
uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: ${{ needs.load_constants.outputs.CURRENT_PYTHON }}
cache: 'pip'
cache-dependency-path: |
requirements-ci.txt
requirements-flake8.txt
- name: Update pip
run: python -m pip install -U pip
- name: Install & report CI dependencies
run: |
python -m pip install -U --force-reinstall -r requirements-ci.txt
python --version
pip list
- name: Build docs
run: |
cd doc
make html
mkdir scratch
- name: Run tests & report source coverage
run: |
pytest --cov --testall --nonloc