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 50 51 52 53 54 55 56 57 58 59 60
|
name: CI
on:
push:
branches:
- master
pull_request:
jobs:
checks:
name: Run ${{ matrix.toxenv }} check
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.13"]
toxenv: ["lint", "dist"]
steps:
- uses: actions/checkout@v4
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install tox
run: python -m pip install tox
- name: Run check (${{ matrix.toxenv }})
run: tox -e ${{ matrix.toxenv }}
tests:
name: Test on Python ${{ matrix.python-version }}
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install job dependencies
run: python -m pip install tox "coverage[toml]"
- name: Run tests (${{ matrix.python-version }})
run: tox run -f $(echo py${{ matrix.python-version }} | tr -d .)
- name: Upload coverage
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
|