Skip to content

ci: keep Unit Tests Complete reporting on docs-only pull requests - #15712

Merged
Maffooch merged 1 commit into
bugfixfrom
claude/unit-test-docs-pr-pending-45ae5a
Aug 18, 2026
Merged

ci: keep Unit Tests Complete reporting on docs-only pull requests#15712
Maffooch merged 1 commit into
bugfixfrom
claude/unit-test-docs-pr-pending-45ae5a

Conversation

@Maffooch

@Maffooch Maffooch commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

[sc-14625]

Description

Fixes a same-day CI regression from #15699. That change added paths-ignore: ['docs/**'] to the pull_request trigger of unit-tests.yml, so a docs-only pull request never triggers the workflow at all. The required Unit Tests Complete context 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_group run 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 into bugfix. 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:

  • The pull_request trigger has no path filter again, so the workflow (and the gate context) runs on every PR.
  • A new changes job lists the PR's changed files via gh api and outputs docs_only=true only when every file is under docs/. It fails open: any error means docs_only=false and the full suite runs. On merge_group/workflow_dispatch the detection is skipped entirely, so the queue always tests the complete two-platform matrix.
  • build-docker-containers skips when docs_only is true; the test-* jobs skip with it through their needs.
  • The unit-tests-complete gate accepts a skipped dependency only when docs_only is 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=false and runs the full light-tier suite, unchanged from before #15699.

Verification

Documentation-only change to CI configuration; no application code changes.

🤖 Generated with Claude Code

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>
@Maffooch
Maffooch requested a review from blakeaowens as a code owner August 18, 2026 20:17
@Maffooch
Maffooch merged commit aedd7a8 into bugfix Aug 18, 2026
49 checks passed
@Maffooch
Maffooch deleted the claude/unit-test-docs-pr-pending-45ae5a branch August 18, 2026 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants