name: "Tests" on: push: branches: [ main ] pull_request: ~ workflow_dispatch: # Cancel redundant in-progress jobs. concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: test: name: "Python ${{ matrix.python-version }}" runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13", ] env: UV_SYSTEM_PYTHON: true steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 - name: Set up Python uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Set up uv uses: astral-sh/setup-uv@v5 with: version: "latest" enable-cache: true cache-suffix: ${{ matrix.python-version }} cache-dependency-glob: | pyproject.toml - name: Install package run: uv pip install '.[develop,test]' - name: Run tests run: pytest