From 42011d95d339ae484aea6b13d94f7dc2a1f0dd54 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 08:48:56 +0000 Subject: [PATCH] ci(publish-smoke): event-conditional run-name + outage-duration header note The run list interleaves the weekly registry canary (schedule-triggered) with release-candidate packed-tarball smokes (workflow_run-triggered), so an unlabeled canary green in the run list reads as "the RC smoke passed." Three seats derived a six-day outage-duration misread from exactly that (#14190). Add a top-level, event-conditional run-name that titles each run by the path it actually executes (scheduled canary / manual dispatch / RC smoke after a Release run), and one sentence to the header comment stating that outage-duration questions are answered from the commit-status history on release-branch heads, never from this run list. No gate change: resolve, resolve-guard, pack-smoke, registry-canary, their if: conditions, needs, permissions and triggers are untouched. Fixes #14190 Co-Authored-By: Claude Code --- .github/workflows/publish-smoke.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/publish-smoke.yml b/.github/workflows/publish-smoke.yml index 4b1fb35302..725c34a8ad 100644 --- a/.github/workflows/publish-smoke.yml +++ b/.github/workflows/publish-smoke.yml @@ -47,9 +47,18 @@ # check (branch protection on main requires TypeScript Type Check, Build Core, # Test Core and Dogfood Regression Gate), so an absent one blocks nothing and is # simply invisible. resolve-guard turns that silence into an explicit red. +# +# "How long was publish broken?" is answered by walking the `publish-smoke / +# packed-tarballs` commit-status history on the release-branch head, never by +# scanning this workflow's run list, because the list interleaves the weekly +# registry canary (schedule-triggered, unrelated to any release candidate) +# with release-candidate smokes, and an unlabeled canary green reads as "the +# RC smoke passed" (#14190 — a six-day outage misread from exactly that). name: Publish Smoke +run-name: ${{ github.event_name == 'schedule' && 'Registry canary (published latest) — scheduled' || github.event_name == 'workflow_dispatch' && format('Publish smoke — manual dispatch on {0}', github.ref_name) || format('Packed-tarball smoke (release candidate) — after Release run {0}', github.event.workflow_run.head_sha) }} + on: workflow_run: workflows: [Release]