Skip to content

fix: make Requirements/Markers pickle-safe #2832

fix: make Requirements/Markers pickle-safe

fix: make Requirements/Markers pickle-safe #2832

Workflow file for this run

name: Test
on:
pull_request:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
env:
FORCE_COLOR: 1
permissions: {}
jobs:
test:
name: ${{ matrix.os }} / ${{ matrix.python_version }}
runs-on: ${{ matrix.os }}-latest
strategy:
fail-fast: false
matrix:
os: [Ubuntu, Windows, macOS]
python_version:
["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.13t", "3.14t", "pypy3.8", "pypy3.9", "pypy3.10", "pypy3.11"]
include:
- os: Ubuntu
python_version: "3.11.0"
- os: Ubuntu
python_version: "3.12.0"
- os: Ubuntu
python_version: "3.13.0"
- os: Ubuntu
python_version: "3.14.0"
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
name: Install Python ${{ matrix.python_version }}
with:
python-version: ${{ matrix.python_version }}
cache: "pip"
allow-prereleases: true
- name: Run nox
run: pipx run nox -s tests
env:
NOXFORCEPYTHON: ${{ matrix.python_version }}
property-tests:
name: Property tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
name: Install Python 3.14
with:
python-version: "3.14"
cache: "pip"
- name: Run nox
run: pipx run nox -s property_tests
downstream:
name: Downstream ${{ matrix.project }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
project: [packaging_legacy, build, pyproject_metadata, setuptools, pip]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
name: Install Python 3.14
with:
python-version: "3.14"
cache: "pip"
- name: Run nox
env:
MATRIX_PROJECT: ${{ matrix.project }}
run: pipx run nox -s "downstream(project='$MATRIX_PROJECT')"
pass:
name: All pass
if: always()
needs:
- test
runs-on: ubuntu-slim
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
with:
jobs: ${{ toJSON(needs) }}