Skip to content

ci: GitHub Actions (Ubuntu, uv, ruff, pytest) + repo lint cleanup #1

ci: GitHub Actions (Ubuntu, uv, ruff, pytest) + repo lint cleanup

ci: GitHub Actions (Ubuntu, uv, ruff, pytest) + repo lint cleanup #1

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# The package is a pyo3/maturin extension, so CI needs a Rust toolchain
# to build it during `uv sync`.
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust build
uses: Swatinem/rust-cache@v2
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
# Provisions Python 3.14 (per requires-python), builds the extension, and
# installs locked deps.
- name: Build extension + install deps
run: uv sync --locked
- name: Ruff lint
run: uv run ruff check .
- name: Ruff format
run: uv run ruff format --check .
- name: Tests
run: uv run pytest -q