Skip to content

fix: Pin ruff version to >=0.16,<0.17 - #16

Merged
Benkapner merged 2 commits into
mainfrom
fix/pin-ruff-version
Sep 30, 2026
Merged

Benkapner merged 2 commits into
mainfrom
fix/pin-ruff-version

Conversation

@Aliciapet11

Copy link
Copy Markdown
Collaborator

Pin ruff to a specific minor version to avoid unexpected formatting changes.

Changes:

  • Lock ruff to >=0.16,<0.17 in dev dependencies
  • Includes markdown formatting fixes from earlier

This unblocks main and stabilizes the linting workflow.

@Benkapner

Copy link
Copy Markdown
Owner

Reviewed and verified. No changes needed, this is ready to merge.

I simulated all four CI jobs locally on 2f161cd:

Job Result
lint (ruff check + ruff format --check) pass, 104 files formatted
test 177 passed
workspace-alignment clean
pre-commit pass

Two things worth recording, because they are easy to get wrong when reading this PR:

The markdown changes are required, not incidental. ruff 0.16 formats Markdown code blocks, which earlier versions did not. Running ruff 0.16.9 format --check against main reports 2 files would be reformatted, naming exactly skills/python-patterns/references/api-clients.md and testing.md. So the reformat and the pin belong in the same commit.

"Unblocks main" is accurate. uv.lock is gitignored here, so CI resolves fresh from pyproject.toml on every run. With ruff>=0.11 that means the newest ruff, currently 0.16.9, and main's lint job fails on the two markdown files. The pin plus the reformat is what fixes it.

Given that no lockfile is committed, this version range is the only thing controlling which ruff CI uses, so pinning is the right call rather than redundant. Separately: it may be worth committing uv.lock so CI is reproducible without hand-maintained ranges, but that is a repo policy change and out of scope here.

@Benkapner

Copy link
Copy Markdown
Owner

Thanks @Aliciapet11 for opening this one. This was the right diagnosis and the fix is correct as submitted.

Here is what i did on it:

  • Ran all four CI jobs locally against 2f161cd: lint, test, workspace-alignment, pre-commit. All pass.
  • Checked whether the markdown changes belonged here. They do. ruff 0.16 formats Markdown code blocks and earlier versions did not, so ruff 0.16.9 format --check on main flags exactly the two files you reformatted. Pin and reformat belong in the same change.
  • Confirmed "unblocks main" is accurate. uv.lock is gitignored, so CI resolves fresh from pyproject.toml every run, ruff>=0.11 pulls 0.16.9, and main's lint job is red on those two files right now.

i made no changes to this branch. Merging as is.

One follow-up worth considering separately: committing uv.lock would make CI reproducible without hand-maintained version ranges. That is a repo policy call, not something for this PR.

Related: i opened #17 for two unrelated workspace issues i found while reviewing this (the mktmpdir.py stdout bug and stale README/GUIDE tables). Suggested merge order is #16, then #17, then #15.

@Benkapner
Benkapner merged commit d93ed05 into main Sep 30, 2026
4 checks passed
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.

2 participants