From c812eda7fb411b59ffa6ed81ddea70232a1b3131 Mon Sep 17 00:00:00 2001 From: Ander Date: Thu, 20 Aug 2026 20:12:50 +0200 Subject: [PATCH] Add CI: lint, format check, typecheck, and tests on PR No GitHub Actions existed in this repo at all before this. Runs make check (ruff lint + format --check, ty typecheck) and make test (pytest) on every PR and on push to main/feature/batch-api/rc. Deliberately scoped to lint/checks/tests only - no publish automation. See the separate investigation into what a PyPI release workflow would need before that gets built. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01DTXXBERPGEnYiYP4Mt3FjF --- .github/workflows/ci.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..06e9d94 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,34 @@ +name: CI + +on: + pull_request: + types: [opened, synchronize, reopened] + push: + branches: + - main + - feature/batch-api/rc + +permissions: + contents: read + +jobs: + check: + name: "Lint, typecheck, and test" + runs-on: ubuntu-latest + steps: + - name: "Fetch source code" + uses: actions/checkout@v4 + + - name: "Install uv" + uses: astral-sh/setup-uv@v3 + with: + enable-cache: true + + - name: "Install dependencies" + run: uv sync --all-extras + + - name: "Lint, format check, and typecheck" + run: make check + + - name: "Unit tests" + run: make test