ci: run the unit tests, which nothing was running - #257
Conversation
main_test.py has 99 tests and CI never executed a single one. The repo's workflows are commit-check (self test), pre-commit (black, mypy, codespell, yaml/toml), release and used-by — none of them invoke pytest. Every release so far shipped with the suite unrun outside contributors' machines. Matrix is the floor and the newest across the three OSes the action supports. 3.10 is the real floor: main.py annotates with `str | None` without `from __future__ import annotations`, so the annotation is evaluated at def time, and main_test.py uses parenthesized context managers — both 3.10+. Installs requirements.txt rather than the bare deps, so the commit-check version under test is the one the action ships, which is also the version the golden tests read back out of importlib.metadata. Verified from a clean venv: the exact install and pytest invocation this workflow runs gives 99 passed, 2 subtests passed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U9zFxq8V4qxG4aMzJhGBFn
|
Warning Review limit reached
Next review available in: 39 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
main_test.pyhas 99 tests and CI has never executed one of them.The four existing workflows are
commit-check(the action self-testing),pre-commit(black, mypy, codespell, yaml/toml checks),releaseandused-by. None invokes pytest. Every release so far shipped with the suiteunrun anywhere except a contributor's machine — including the v2.13.0 draft
sitting ready now.
The matrix
The floor and the newest, across the three OSes the action supports — 6 jobs.
3.10is the real floor, not a guess:main.pyannotates withstr | Noneand has nofrom __future__ import annotations, so the annotation is evaluated atdeftime — PEP 604 at runtime is 3.10+.main_test.pyuses parenthesized context managers in 34 places — 3.10+.The in-between versions earn less here than they do in
commit-check: thatis a published package installed into whatever interpreter a user has, while
this action runs on whatever
python3its runner ships.fail-fast: falseso a failure on one OS doesn't mask the others — worthhaving on a suite CI has never run before.
Why
requirements.txtand not bare depsIt pins the same
commit-checkthe action ships, which is also the versionthe golden tests read back out of
importlib.metadata. Installing anythingelse would make
PINNED_VERSIONin the test file and the shipped versiondrift apart silently.
Verified
The exact install and pytest invocation this workflow runs, from a clean venv:
Actions are SHA-pinned with version comments, matching the convention in
commit-check/.github/workflows/main.yml.Generated by Claude Code