Skip to content

feat: modernize repo to use uv, pyproject.toml, and semantic-release #1

feat: modernize repo to use uv, pyproject.toml, and semantic-release

feat: modernize repo to use uv, pyproject.toml, and semantic-release #1

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
# Allow this workflow to be called from other workflows
workflow_call:
jobs:
run_tests:
name: ${{ matrix.toxenv }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12"]
toxenv: [lint, py311-test, py312-test]
exclude:
- python-version: "3.12"
toxenv: lint
- python-version: "3.12"
toxenv: py311-test
- python-version: "3.11"
toxenv: py312-test
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install uv
uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1
with:
enable-cache: true
python-version: "${{ matrix.python-version }}"
- name: Install CI dependencies
run: uv sync --group ci
- name: Run tox
run: uv run tox -e ${{ matrix.toxenv }}
- name: Upload coverage to Codecov
if: contains(matrix.toxenv, 'test')
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: unittests
fail_ci_if_error: false