Skip to content

Workflow file for this run

name: Build & Test
"on":
push:
branches:
- "*"
pull_request:
branches:
- "*"
schedule:
- cron: 01 13 * * SAT
jobs:
test:
name: Build & Test
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Install the default version of uv
id: setup-uv
uses: astral-sh/setup-uv@e779db74266a80753577425b0f4ee823649f251d # v3
with:
enable-cache: true
- run: echo "Installed uv version is ${{ steps.setup-uv.outputs.uv-version }}"
- name: Create venv and sync deps
run: |
uv venv --python ${{ matrix.python-version }}
uv sync
- name: Run tests (Windows)
if: runner.os == 'Windows'
run: |
. .venv/Scripts/activate.ps1
pytest -v
shell: pwsh
- name: Run tests (Linux/macOS)
if: runner.os != 'Windows'
run: |
. .venv/bin/activate
pytest -v
required-check:
name: All Tests Passed
needs: test
runs-on: ubuntu-latest
steps:
- run: echo "All tests passed!"