Skip to content

DO NOT MERGE: chore: streamline CI with UV and tox-gh-actions #2018

DO NOT MERGE: chore: streamline CI with UV and tox-gh-actions

DO NOT MERGE: chore: streamline CI with UV and tox-gh-actions #2018

Workflow file for this run

name: Test
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:
# needs to included every supported python version
python-version:
- '3.10'
- '3.11'
- '3.12'
- '3.13'
django-version:
- '4.2'
- '5.0'
- '5.1'
- '5.2'
- 'main'
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
env:
DJANGO: ${{ matrix.django-version }}
- 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