Skip to content

Pin ruff to 0.15.22 so CI stops breaking on linter releases - #6

Merged
anbo-de merged 1 commit into
masterfrom
ci/pin-ruff
Jul 29, 2026
Merged

Pin ruff to 0.15.22 so CI stops breaking on linter releases#6
anbo-de merged 1 commit into
masterfrom
ci/pin-ruff

Conversation

@anbo-de

@anbo-de anbo-de commented Jul 29, 2026

Copy link
Copy Markdown
Member

What broke

The lint step installed ruff unpinned:

- run: pip install ruff

so every CI run picked up whatever ruff had just been released. ruff 0.16.0 (2026-07-23) promoted several rules into its default set, and this repository went red with no change of its own.

How widespread

Every repository in the org that runs a blocking ruff check is affected — 15 of them. Verified by running each repo's own CI lint command under both versions:

ruff result
0.15.22 (2026-07-16) clean
0.16.0 (2026-07-23) fails

Four repositories had already gone red; the rest were waiting for their next push.

The fix

Pin ruff, so the lint result is reproducible:

- run: pip install ruff==0.15.22

Dependabot already watches this repository, so the 0.16.0 upgrade will now arrive as its own reviewable PR — together with the code changes the new rules ask for — instead of landing unannounced in an unrelated dependency bump.

Why not just fix the new findings instead

That is the right follow-up, but it should be a deliberate change: across the org the new rules produce several hundred findings (mostly LOG015, I001, PLW1510). Doing it under time pressure, in a PR that is nominally about something else, is how the lint gate loses its meaning. Pin first, upgrade on purpose.

The lint step installed ruff unpinned, so the linter silently upgraded
itself on every run. ruff 0.16.0, released 2026-07-23, promoted a number
of rules into its default rule set (LOG015 root-logger calls, I001 import
sorting, PLW1510 subprocess without check, and others depending on the
repository). The result is a red build with no change to this repository
at all.

Fifteen repositories in the organisation are affected the same way; each
of them lints clean on 0.15.22 and fails on 0.16.0.

Pinning makes the lint result reproducible and turns the ruff upgrade
into something Dependabot proposes and a human reviews, together with the
code changes the new rules ask for — rather than something that lands
unannounced in an unrelated pull request.
@anbo-de
anbo-de merged commit bacf83b into master Jul 29, 2026
7 checks passed
@anbo-de
anbo-de deleted the ci/pin-ruff branch July 29, 2026 02:08
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