Skip to content

Merge pull request #270 from DanCardin/dc/kwonly #582

Merge pull request #270 from DanCardin/dc/kwonly

Merge pull request #270 from DanCardin/dc/kwonly #582

Workflow file for this run

name: Test
on:
pull_request:
branches:
- main
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
env:
UV_CACHE_DIR: /tmp/.uv-cache
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
allow-prereleases: true
- name: Set up uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Restore uv cache
uses: actions/cache@v4
with:
path: /tmp/.uv-cache
key: uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
restore-keys: |
uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
uv-${{ runner.os }}
- name: Install dependencies
run: make install
- name: Run Linters
run: make lint
if: ${{ !endsWith(matrix.python-version, '-dev') }}
- name: Lint Examples
run: make lint-examples
if: ${{ matrix.python-version != '3.8' && matrix.python-version != '3.9' }}
- name: Run tests
run: make test
- name: Install dependencies
run: make install-lowest
- name: Run tests
run: make test
- name: Generate coverage
run: make coverage
- name: Store test result artifacts
uses: actions/upload-artifact@v4
with:
path: coverage-${{ matrix.python-version }}.xml
- uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
name: python=${{ matrix.python-version }}
files: coverage.xml
typos:
name: Check for typos
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v4
- name: Spell Check Repo
uses: crate-ci/typos@v1.30.0
finish:
needs:
- test
- typos
runs-on: ubuntu-latest
steps:
- name: Join
run: echo Done