Skip to content

Add CI - #7

Merged
yuema137 merged 2 commits into
mainfrom
ci/github-actions
Sep 8, 2026
Merged

yuema137 merged 2 commits into
mainfrom
ci/github-actions

Conversation

@yuema137

@yuema137 yuema137 commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Tests only ran when somebody remembered to run them. This adds .github/workflows/ci.yml, running the suite on every push to main and every pull request against it.

What it checks

  • Tests on 3.11, 3.12, 3.13 and 3.14. pyproject.toml claims requires-python = ">=3.11", and a claim nothing checks is a claim that drifts. The local default interpreter here is 3.14, so the floor in particular was never actually exercised. All four pass.
  • uv lock --check fails the run if uv.lock and pyproject.toml disagree.
  • --version on both entry points, so a release bump that updates one and misses the other cannot merge green. This pairs with tests/test_version.py, which catches drift against pyproject.toml.

fail-fast: false so one bad interpreter does not hide the others. permissions: contents: read since the workflow publishes nothing, and a concurrency group so a new push cancels the superseded run.

Verification

The four matrix versions were run locally through uv run --python <ver> before writing the workflow, and the YAML was parsed to confirm it is valid. Actions are pinned to the current majors (actions/checkout@v7, astral-sh/setup-uv@v10), both looked up rather than assumed.

Both READMEs get a CI badge.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WtWRX5q9dRRL2eiH4okG1U

yuema137 and others added 2 commits September 8, 2026 11:29
Tests only ran when somebody remembered to run them. This workflow runs the
suite on every push to main and every pull request against it.

The matrix covers 3.11 through 3.14. pyproject.toml claims
requires-python = ">=3.11", and a claim nothing checks is a claim that drifts;
the local default interpreter is 3.14, so the floor in particular was never
actually exercised before now. All four pass today.

`uv lock --check` fails the run if uv.lock and pyproject.toml disagree, and a
final step calls --version on both entry points so a release bump that misses
one of them cannot merge green.

Both READMEs get a CI badge.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtWRX5q9dRRL2eiH4okG1U
astral-sh/setup-uv publishes no bare major alias past v7, so @v10 could not
resolve and every matrix job failed in Set up job before running anything.
The v10.0.1 tag itself exists; only the moving alias is absent.

Pin both actions to exact tags rather than fixing setup-uv alone: one file
with two pinning styles is how the next person picks the wrong one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtWRX5q9dRRL2eiH4okG1U
@yuema137
yuema137 merged commit 8cd37d7 into main Sep 8, 2026
4 checks passed
@yuema137
yuema137 deleted the ci/github-actions branch September 8, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant