ci: pin ruff so check-format stops failing on main - #2686
Merged
Conversation
Recent ruff releases format Python inside markdown code blocks. These files predate that, so `make check-format` currently fails on an unchanged main.
An unpinned install lets a new ruff release turn `make check` red on an unchanged tree, same reasoning as the existing licensecheck pin.
This was referenced Aug 2, 2026
Closed
kevinmessiaen
approved these changes
Aug 3, 2026
kevinmessiaen
enabled auto-merge (squash)
August 3, 2026 01:00
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
make check-formatfails on a cleanmain, so the lint job is red on new PRs. From the run on #2680:No commit caused this.
install-toolsrunsuv tool install ruffunpinned, and ruff 0.16 promoted markdown code-block formatting out of preview. CI picked up the new default on its next run, and five docs files that predate it started failing.Bisecting the tool rather than the tree:
check-formaton clean mainFix
Two commits:
ruff formatover the five affected files (README.md, the three package READMEs,libs/giskard-llm/docs/design.md). Formatting only: line wrapping, blank lines between top-level defs, quote normalisation, trailing commas. No prose or code semantics changed.RUFF_VERSION := 0.16.1ininstall-tools, so the next ruff release can't turnmake checkred on a tree nobody touched. Same reasoning as the existingLICENSECHECK_VERSIONpin.I did consider pinning to 0.15 instead, which also makes main green with a one-line diff since 0.15 ignores markdown entirely. Freezing the toolchain to avoid a formatting change you'll take eventually didn't seem like the right call, especially as the same reformat is already riding along in a number of open PRs.
Testing
make checkexits 0 on this branch and fails onmain.make test-unit: 37 / 211 / 117 / 757 / 155 passed across core, llm, agents, checks and scan.Note
The docs reformat already appears as a side effect in several open PRs (#2658 among them, byte-identical to this one). Landing it standalone lets those diffs shrink to just their real changes.
Type of Change
Disclosure: drafted with AI assistance (Claude Code). I reproduced the failure, bisected the ruff versions, and ran the checks myself before submitting.