Skip to content

docs: prepare for 0.11 (#292) #875

docs: prepare for 0.11 (#292)

docs: prepare for 0.11 (#292) #875

Workflow file for this run

name: tests
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pytest:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- "ubuntu-latest"
python:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
include:
- os: macos-15-intel
python: "3.8"
- os: macos-14
python: "3.12"
- os: ubuntu-latest
python: "pypy-3.11"
- os: windows-latest
python: "3.8"
- os: windows-latest
python: "3.11"
- os: windows-latest
python: "3.13"
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up target Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python }}
allow-prereleases: true
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v7
- name: Run tests
run: uv run noxfile.py -s test-${{ matrix.python }}
- name: Run minimum tests
run: uv run noxfile.py -s minimums-${{ matrix.python }}
- name: Send coverage report
uses: codecov/codecov-action@v5
env:
PYTHON: ${{ matrix.python }}
with:
flags: tests
env_vars: PYTHON
name: ${{ matrix.python }}
downstream:
name: Downstream ${{ matrix.project }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
project:
- sphinx-theme-builder
- meson-python
- scikit-build-core
- pdm-backend
steps:
- name: Checkout
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up target Python
uses: actions/setup-python@v6
with:
python-version: "3.14"
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v7
- name: Run nox
run: uvx nox -s 'downstream(project="${{ matrix.project }}")'
# https://github.com/marketplace/actions/alls-green#why
required-checks-pass: # This job does nothing and is only used for the branch protection
if: always()
needs:
- pytest
- downstream
runs-on: ubuntu-latest
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}