ci: keep Unit Tests Complete reporting on docs-only pull requests - #15712
Merged
Conversation
The paths-ignore filter added this morning (#15699) skipped the whole unit-tests workflow on docs-only pull requests, so the required `Unit Tests Complete` context was never created and sat as "Expected -- waiting for status to be reported" forever. A pull request must pass its required checks before it can be added to the merge queue, so docs-only PRs (#15710, #15711) became unqueueable for anyone without ruleset bypass. The change assumed the merge_group run would satisfy the requirement, but that run only happens after the PR enters the queue. Keep the CI savings by moving the skip from the trigger to the jobs: a `changes` job lists the PR's files and outputs docs_only, the heavy build/test chain skips when it is true, and the unit-tests-complete gate accepts skipped dependencies only in that case. The gate now reports success in seconds on docs-only PRs instead of never, and merge_group runs still execute the full two-platform matrix because docs_only is only computed on pull_request events. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
blakeaowens
approved these changes
Aug 18, 2026
devGregA
approved these changes
Aug 18, 2026
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.
[sc-14625]
Description
Fixes a same-day CI regression from #15699. That change added
paths-ignore: ['docs/**']to thepull_requesttrigger ofunit-tests.yml, so a docs-only pull request never triggers the workflow at all. The requiredUnit Tests Completecontext is then never created and sits as "Expected -- waiting for status to be reported" forever.The original reasoning was that the merge queue's unfiltered
merge_grouprun would still produce the check. The hole: a pull request must pass its required status checks before it can be added to the merge queue, and the Merge Queue ruleset's required check surfaces on every PR intobugfix. A check that never reports blocks queue entry, so docs-only PRs became unqueueable for anyone without ruleset bypass. Visible today on #15710 and #15711, the first docs-only PRs opened after the change (docs-only PRs merged earlier, #15703/#15704, predate it and ran the full suite at PR level).What changed
Keeps the CI savings, moves the skip from the trigger to the jobs:
pull_requesttrigger has no path filter again, so the workflow (and the gate context) runs on every PR.changesjob lists the PR's changed files viagh apiand outputsdocs_only=trueonly when every file is underdocs/. It fails open: any error meansdocs_only=falseand the full suite runs. Onmerge_group/workflow_dispatchthe detection is skipped entirely, so the queue always tests the complete two-platform matrix.build-docker-containersskips whendocs_onlyis true; thetest-*jobs skip with it through theirneeds.unit-tests-completegate accepts a skipped dependency only whendocs_onlyis true, so on a docs-only PR it reports success in seconds instead of never, and a skipped job on any other PR still fails the gate.A mixed PR (docs + code) has
docs_only=falseand runs the full light-tier suite, unchanged from before #15699.Verification
actionlintpasses on the workflow..github/, so it exercises thedocs_only=falsepath itself: the full light-tier suite must run andUnit Tests Completemust report green here.pull_requestevent picks up the fixed workflow from the merge ref; the heavy jobs should show as skipped andUnit Tests Completeshould report success within about a minute.merge_grouprun should still execute the full matrix.Documentation-only change to CI configuration; no application code changes.
🤖 Generated with Claude Code