Skip to content

fix: cap ruff <0.16 so CI lint stops changing under us - #5

Merged
scttfrdmn merged 1 commit into
mainfrom
fix/ruff-016-pin
Aug 2, 2026
Merged

fix: cap ruff <0.16 so CI lint stops changing under us#5
scttfrdmn merged 1 commit into
mainfrom
fix/ruff-016-pin

Conversation

@scttfrdmn

Copy link
Copy Markdown
Contributor

CI has been red on main since 2026-07-26 (run 30188341549) with 31 ruff
violations in code nobody touched.

Cause: ruff 0.16 moved a large set of opinionated rules (BLE, PLW, TRY,
C408, EXE, B017, UP035, …) into its default rule set. The dev extra
asked only for ruff>=0.5, so ruff check . silently changed what CI enforces
the moment ruff published.

Fix: cap ruff>=0.5,<0.16, with a comment explaining why raising it should be
deliberate (adopt rules via an explicit [tool.ruff.lint] select, don't inherit
whatever a release decides).

This is the same break already fixed in airflow-spawn,
snakemake-executor-plugin-spawn and miniwdl-spawn — cwl-spawn was the last
adapter still exposed. Found while auditing the other Python repos after it broke
miniwdl-spawn's CI.

Verified locally (all three CI steps, matching ci.yml):

  • ruff --version → 0.15.22; ruff check . → All checks passed
  • mypy cwl_spawn → Success: no issues found in 6 source files
  • pytest -q → 31 passed

The lint step aborts the job before mypy/pytest, so it could have been hiding a
second failure (it was in airflow-spawn). It wasn't here — both were already
green.

python-sdk also has an unpinned ruff, but its CI never invokes it, so it's
dormant rather than broken; left alone.

CI has been red on main since 2026-07-26 with 31 ruff violations in code
nobody touched. ruff 0.16 moved a large set of opinionated rules (BLE,
PLW, TRY, C408, EXE, B017, UP035, ...) into its DEFAULT rule set, and the
dev extra asked only for `ruff>=0.5` — so the lint step silently changed
what it enforces the moment ruff published.

Same cap already applied to airflow-spawn, miniwdl-spawn and
snakemake-executor-plugin-spawn; cwl-spawn is the last adapter exposed.

Verified locally: ruff resolves to 0.15.22, `ruff check .` passes,
`mypy cwl_spawn` clean, 31 tests pass. Nothing was hidden behind the lint
abort.
@scttfrdmn
scttfrdmn merged commit 67ccb65 into main Aug 2, 2026
1 check passed
@scttfrdmn
scttfrdmn deleted the fix/ruff-016-pin branch August 2, 2026 02:38
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