Skip build/test/publish for documentation-only PRs#970
Merged
Conversation
A documentation-only change (CHANGELOG, README, etc.) triggered a full ~15-minute compile of Dashboard, Lite, and the Installer for no reason. The paths-filter step now also computes a 'code' output (true when any non-*.md file changed), and the build/test/publish steps are gated on it. Documentation-only PRs and pushes run only checkout + the filter, so the required 'build' check still reports — green — without the workflow being skipped outright. Release builds are unaffected: the filter step does not run on release events, leaving 'code' empty, and the gate (code != 'false') treats an empty value as "run". Co-Authored-By: Claude Opus 4.7 (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.
Summary
A documentation-only change (CHANGELOG, README, etc.) triggered a full ~15-minute compile of Dashboard, Lite, and the Installer — pointless, since nothing compilable changed.
The existing
dorny/paths-filterstep now also computes acodeoutput (true when any non-*.mdfile changed). The Setup/Restore/Build/Test/Publish steps are gated onsteps.filter.outputs.code != 'false'.buildcheck still reports (green) because the job runs — not skipped at the workflow level, which would leave the required check stuck pending.releaseevents, socodeis empty and the gate (code != 'false') treats empty as "run".Same pattern as #968 (check-version-bump).
Bootstrap note
The
dev → mainPR carrying this fix changes a workflow file (not a doc), socheck-versionruns and fails once — needs one admin merge. (After this, doc-only PRs are clean on both checks.)Test plan
yaml.safe_loadparses cleancodeempty →'' != 'false'→ all build steps runbuildreports green in seconds🤖 Generated with Claude Code