Skip to content

Hotfix: pin ruff in CI (ruff 0.16.0 release turned every PR's lint check red) - #812

Merged
DLWoodruff merged 1 commit into
mainfrom
pin-ruff-version
Jul 23, 2026
Merged

Hotfix: pin ruff in CI (ruff 0.16.0 release turned every PR's lint check red)#812
DLWoodruff merged 1 commit into
mainfrom
pin-ruff-version

Conversation

@DLWoodruff

Copy link
Copy Markdown
Collaborator

Hotfix — every open PR is currently failing the Ruff Linting check (#810, #811, and anything else that runs CI from now on), through no fault of their own.

What happened

  • ruff 0.16.0 was released today and greatly expanded the default rule set (pyupgrade UP*, TRY*, FURB*, SIM*, PL*, EXE001, ...).
  • The lint job used chartboost/ruff-action@v1 — an archived action — with no version pin, so it installs whatever ruff is latest at run time.
  • Verified locally on the same tree: ruff 0.15.21 reports "All checks passed!"; ruff 0.16.0 reports 2,487 errors, almost all in files the failing PRs never touched (e.g. doc/src/conf.py, example models).
  • Timeline matches: main passed lint at 17:30 UTC today; PR Convert timed mipgap to use termination callback mechanics #810 failed at 19:43 UTC with repo-wide errors.

The fix

Switch to the maintained astral-sh/ruff-action@v3 pinned to version: "0.15.21" — the version CI was effectively using until today. A comment in the workflow explains why the pin must be bumped deliberately, not floated.

Whether to adopt (or configure away) the new 0.16 default rules is a separate decision that can be made calmly later.

After this merges, #810 and #811 just need a rebase or a re-run against main to go green on lint.

🤖 Generated with Claude Code

ruff 0.16.0 (released today) greatly expanded the default rule set, and the
lint job used the archived chartboost/ruff-action@v1 with no version pin, so
it always installs the latest ruff.  Result: every CI run since this
afternoon fails Ruff Linting with ~2,487 repo-wide errors in files the PRs
never touched (verified locally: 0.15.21 reports "All checks passed!" on the
same tree).

Switch to the maintained astral-sh/ruff-action@v3 pinned to 0.15.21, the
version that CI was effectively using until today.  Adopting (or configuring
away) the new 0.16 rules can be decided separately.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Jul 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.34%. Comparing base (e7fd986) to head (db3c7f1).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #812   +/-   ##
=======================================
  Coverage   76.33%   76.34%           
=======================================
  Files         170      170           
  Lines       22628    22628           
=======================================
+ Hits        17274    17276    +2     
+ Misses       5354     5352    -2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@DLWoodruff
DLWoodruff merged commit 3749661 into main Jul 23, 2026
33 checks passed
@DLWoodruff
DLWoodruff deleted the pin-ruff-version branch July 23, 2026 21:28
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