1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
name: build
permissions:
contents: read
on:
pull_request: {}
push:
branches:
- "master"
tags-ignore:
- "**"
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
language:
[
{python-version: "3.10", toxenv: "py310"},
{python-version: "3.11", toxenv: "py311"},
{python-version: "3.12", toxenv: "py312"},
{python-version: "3.13", toxenv: "py313"},
{python-version: "3.14", toxenv: "py314"},
{python-version: "pypy3.10", toxenv: "pypy310"},
{python-version: "pypy3.11", toxenv: "pypy311"},
]
include:
- os: ubuntu-latest
language: {python-version: "3.10", toxenv: "codestyle"}
- os: ubuntu-latest
language: {python-version: "3.10", toxenv: "lint"}
- os: ubuntu-latest
language: {python-version: "3.10", toxenv: "typecheck"}
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository
uses: actions/checkout@v6
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.language.python-version }}
check-latest: true
- name: Install Python requirements
run: |
pip install --upgrade tox tox-uv
- name: Test
run: tox
env:
TOXENV: ${{ matrix.language.toxenv }}
|