Skip to content

Merge pull request #6 from s3bc40/worktree-chore+claude-config-refactor #28

Merge pull request #6 from s3bc40/worktree-chore+claude-config-refactor

Merge pull request #6 from s3bc40/worktree-chore+claude-config-refactor #28

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
lint-and-test:
name: Lint & Test (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: "latest"
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: uv sync --all-groups
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Build Rust extension
run: uv run maturin develop
- name: Lint with ruff
run: uv run ruff check src/ tests/
- name: Format check with ruff
run: uv run ruff format --check src/ tests/
- name: Run tests
run: uv run pytest tests/ -v
rust-check:
name: Rust clippy & test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- name: Clippy
run: cargo clippy --manifest-path rust/Cargo.toml -- -D warnings
env:
PYO3_BUILD_EXTENSION_MODULE: "1"
- name: Rust unit tests
run: cargo test --manifest-path rust/Cargo.toml
env:
PYO3_BUILD_EXTENSION_MODULE: "1"