Skip to content

chore: align ruff version between CI and local tooling#34

Merged
rhiever merged 2 commits into
mainfrom
chore/align-ruff-version
Jun 15, 2026
Merged

chore: align ruff version between CI and local tooling#34
rhiever merged 2 commits into
mainfrom
chore/align-ruff-version

Conversation

@rhiever

@rhiever rhiever commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

The drift

This repo had two ruff installs at very different versions, each acting as a source of truth:

  • .pre-commit-config.yaml hard-pinned the ruff-pre-commit hook at rev: v0.6.9, which is what the lint-and-test CI job runs (CI is the enforced source of truth).
  • pyproject.toml declared the dev dependency as ruff>=0.6 (floor only), so uv resolved the newest release (0.15.11), which is what uv run ruff ... and editors use locally.

Those two resolved almost a year apart. Ruff's formatter changed across that gap, so the same file got formatted one way locally and a different way in CI, producing CI-only format failures that did not reproduce with local uv run ruff.

What changed

  • Pin both to the same modern version, 0.15.11: the pre-commit hook rev, and the dev dependency as an exact ruff==0.15.11 (matching the hook exactly, so there is one pinned version).
  • Update uv.lock to record ruff==0.15.11.
  • Apply the one-time repo-wide reformat that the new version forces (pre-commit run --all-files). No behavior change.

The ruff lint hook (with --fix) passed clean with no new rule violations, so no [tool.ruff.lint] ignore additions were needed and the config sections are untouched. The format hook reformatted a single file (a relocated assertion message in tests/test_sync.py).

The bulk-but-small mechanical reformat is isolated in its own style: commit, separate from the chore: version-pin commit, so the version change is reviewable on its own.

Verification

  • uv run pre-commit run --all-files is green (all hooks Passed), and a second consecutive run leaves the tree clean.
  • uv run pytest: 650 passed.

🤖 Generated with Claude Code

rhiever and others added 2 commits June 14, 2026 21:37
The dev dependency was a floor-only ruff>=0.6 while the pre-commit hook
hard-pinned v0.6.9, so local tooling and CI resolved ruff versions almost
a year apart. Pin both to 0.15.11 (a single source of truth) and record it
in the lockfile.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
One-time alignment after pinning ruff to 0.15.11. The newer formatter
relocates assertion messages; no behavior change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@rhiever rhiever merged commit 72090bc into main Jun 15, 2026
1 check passed
@rhiever rhiever deleted the chore/align-ruff-version branch June 15, 2026 04:43
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