ci: run ruff once outside syntax matrix - #158
Conversation
LeyckerS
left a comment
There was a problem hiding this comment.
Clean, and the diff is smarter than its size suggests: +11 -0 because you inserted the new job header above the existing steps and re-parented them, rather than deleting and retyping. Reads perfectly in the resulting file.
Checked the outcome rather than the diff:
syntax-checkkeeps the 3.10–3.14 matrix and now byte-compiles only.ruffis a standalone job on a single interpreter.- CI reports one
ruffcheck against fivesyntax-checkentries — previously it was five ruff runs of identical work.
You kept the pin. ruff==0.16.1 is the detail I flagged when you claimed this, and it is the one that matters: an unpinned linter turns someone else's unrelated pull request red on the day upstream adds a rule. Thank you for holding it.
Also correct that ruff runs on 3.10 rather than the newest — the linter's own behaviour should not vary with the interpreter it happens to be installed under, and target-version = "py310" in ruff.toml is what actually decides what it checks.
actionlint in your testing notes is a nice touch; nothing in this repository asks for it.
Merging.
- #158 (@nightcityblade, #81) takes ruff out of the version matrix - #157 (@XEDAB, #155) removes the assertion that could not fail - #159 (@AashishGupta2007, #145) removes the generated-era THEME block Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Description
Fixes #81
Move the pinned Ruff install and lint steps into a standalone Python 3.10 job. Ruff now runs once per workflow while
syntax-checkcontinues to byte-compile every tracked Python module on Python 3.10 through 3.14.Type of change
Checklist
applied the equivalent change to
moon_cli.pydescription
Shared extraction and download logic is unaffected; this change only adjusts the lint workflow.
Testing
.venv/bin/ruff check .python3.10 -m compileall -q, throughpython3.14 -m compileall -q, on every tracked Python fileactionlint .github/workflows/lint.ymlScreenshots / logs (if applicable)
N/A — CI-only change.