Skip to content

chore: streamline CI with UV and tox-gh-actions #150

chore: streamline CI with UV and tox-gh-actions

chore: streamline CI with UV and tox-gh-actions #150

Workflow file for this run

name: Test

Check failure on line 1 in .github/workflows/test.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/test.yml

Invalid workflow file

(Line: 37, Col: 13): Matrix exclude key 'django-version' does not match any key within the matrix, (Line: 39, Col: 13): Matrix exclude key 'django-version' does not match any key within the matrix
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test-package:
name: Test Package (Python ${{ matrix.python-version }}, Django ${{ matrix.django-version }})
runs-on: ubuntu-latest
permissions:
id-token: write # Required for Codecov OIDC token
strategy:
fail-fast: false
matrix:
python-version:
- '3.10'
- '3.11'
- '3.12'
- '3.13'
# anything combinations that do not apply to the whole matrix go in include/exclude
# these are normally only for the oldest and newest python/django versions
include:
# https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django
- python-version: '3.8'
django-version: '4.2'
- python-version: '3.9'
django-version: '4.2'
- python-version: '3.14'
django-version: '5.2'
- python-version: '3.14'
django-version: 'main'
exclude:
- python-version: '3.13'
django-version: '5.0'
- python-version: '3.13'
django-version: '4.2'
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: hynek/setup-cached-uv@v2
- name: 🧪 Run tox targets for Python ${{ matrix.python-version }}
run: uvx --with tox-uv --with tox-gh-actions tox -v
- name: Upload coverage
uses: codecov/codecov-action@v5
with:
name: Python ${{ matrix.python-version }}
use_oidc: true
test-demo-rp:
name: Test Demo Relying Party
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version:
- "22.x"
- "24.x"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up NodeJS
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: npm install
working-directory: tests/app/rp
- name: Run Lint
run: npm run lint
working-directory: tests/app/rp
- name: Run build
run: npm run build
working-directory: tests/app/rp
success:
needs:
- test-package
- test-demo-rp
runs-on: ubuntu-latest
name: Test successful
steps:
- name: Success
run: echo Test successful