Skip to content

Commit 8ccfee4

Browse files
jang1563claude
andcommitted
ci: pin ruff to a reproducible version for the lint gate
`pip install ruff` grabbed whatever was latest, so a future ruff release that adds or stabilizes a rule under the selected E/F/W/UP categories could break lint on an unrelated PR. Pin it: - workflow: ruff==0.15.16 (exact; verified clean on src/ + tests/) - pyproject [dev]: ruff>=0.15,<0.16 (cap the minor, allow patch fixes) Bump deliberately; the two specs are kept in sync via cross-referencing comments. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent e73c02c commit 8ccfee4

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

.github/workflows/ci.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@ jobs:
2020
cache: 'pip'
2121

2222
- name: Install ruff
23-
run: pip install ruff
23+
# Pinned for reproducible lint: a new ruff release must not change the
24+
# gate on an unrelated PR. Bump deliberately; keep in sync with the
25+
# ruff range in pyproject.toml [project.optional-dependencies].dev.
26+
run: pip install "ruff==0.15.16"
2427

2528
- name: Run ruff check
2629
run: ruff check src/ tests/

pyproject.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@ dependencies = [
3838
dev = [
3939
"pytest>=7.4",
4040
"pytest-cov>=4.1",
41-
"ruff>=0.3",
41+
# Capped below the next ruff minor: new minors can add/stabilize lint rules
42+
# and would otherwise break CI on unrelated PRs. Keep in sync with the
43+
# pinned ruff in .github/workflows/ci.yml.
44+
"ruff>=0.15,<0.16",
4245
]
4346
dashboard = [
4447
"streamlit>=1.30",

0 commit comments

Comments
 (0)