ci: skip-shim so workflow/docs-only PRs satisfy required checks - #47
Merged
Merged
Conversation
ci.yml has a paths filter, so its required jobs don't run on PRs that touch only non-code paths (workflow config, most docs). Branch protection still requires those jobs, so such PRs deadlock as 'Expected — waiting for status' and need an admin bypass to merge (e.g. #45). This companion workflow triggers on the complement path set (paths-ignore = ci.yml's paths) and emits check runs with the same required job names, trivially successful — so workflow-/docs-only PRs are mergeable without a bypass. Job names mirror ci.yml exactly and must be kept in sync. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PRQ6JeWxpD9zrYcPz6VFTS
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.
What
Adds
.github/workflows/ci-skip.yml— a companion toci.ymlthat unblocks the required-check deadlock on workflow-/docs-only PRs.Why
ci.ymlhas apaths:filter, so its 12 required jobs don't run when a PR touches only non-code paths (workflow config, most docs). Branch protection still requires those jobs, so such PRs sit at "Expected — waiting for status to be reported" forever and can only merge via admin bypass. Just hit this on #45 (codeql-action pins); it also affects docs-only PRs (#39/#40) and future Dependabot workflow bumps (#42/#44).How
The shim triggers on the complement path set (
paths-ignore= ci.yml'spaths) and emits check runs with the same required job names (mirrored character-for-character, incl. the·and≥), each trivially successful. Branch protection matches required checks by name, so a workflow-/docs-only PR is now satisfied without a bypass.Self-bootstrapping: this PR touches only
.github/workflows/ci-skip.yml, so the shim runs on its own PR — the 12 checks should report green here, no bypass needed to merge it.Caveat
A mixed PR (touches both code and non-code paths) triggers the real
ci.yml(real jobs run); keep code and workflow-config changes in separate PRs so the real signal stays unambiguous. Job names must be kept in sync withci.yml.🤖 Generated with Claude Code