ci: do not run the suite for a documentation-only change - #229
Merged
Conversation
A docs commit was taking the same ~10 minutes as a code change: full sync, ruff, mypy and the whole pytest suite, to check prose. `lint` and `test` are required status checks on `main`, so they cannot be skipped outright — a required check that never reports blocks the pull request permanently, which is worse than running it. So both jobs still run and still report; a `changes` job decides whether they do the expensive part. The filter is deliberately biased towards running: a path it does not recognise counts as code. A new top-level file nobody thought about gets the gates rather than a pass, and a push to main or a manual run always runs everything. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A docs commit was costing the same ~10 minutes as a code change.
lintandtestare required checks, so they cannot be skipped — a required check that never reports blocks the PR permanently. Both jobs still run and report; achangesjob decides whether they do the expensive part.The filter is biased towards running: an unrecognised path counts as code, and pushes to
mainalways run everything.This PR itself touches
.github/workflows/, so it should run the full suite — which is the check that the filter is not too eager.🤖 Generated with Claude Code