Skip to content

Commit f0c9be1

Browse files
committed
Keep the publish chain alive when the soak stage is skipped
With soak_level=none the soak job is skipped; release-draft already handles that with an explicit condition, but verify and the publish jobs relied on the default success() check, which treats a skipped ancestor as non-success and silently skips the whole publish chain. Give each downstream job an explicit condition that only blocks on real failures or cancellations.
1 parent 4fa71d9 commit f0c9be1

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,9 @@ jobs:
184184
# ── 7. Verify + Publish (requires security gate) ───────────────
185185
verify:
186186
needs: [release-draft, security]
187+
# Explicit condition: a skipped ancestor (soak with soak_level=none) must
188+
# not skip the publish chain — only real failures/cancellations block it.
189+
if: ${{ !cancelled() && !failure() && needs.release-draft.result == 'success' }}
187190
runs-on: ubuntu-latest
188191
permissions:
189192
contents: write
@@ -282,6 +285,7 @@ jobs:
282285
# release stays in draft so we can re-run without a half-shipped state.
283286
publish-registries:
284287
needs: [verify]
288+
if: ${{ !cancelled() && !failure() && needs.verify.result == 'success' }}
285289
runs-on: ubuntu-latest
286290
permissions:
287291
contents: read
@@ -355,6 +359,7 @@ jobs:
355359
# not touch npm/PyPI, so retries are safe.
356360
publish-mcp-registry:
357361
needs: [publish-registries]
362+
if: ${{ !cancelled() && !failure() && needs.publish-registries.result == 'success' }}
358363
runs-on: ubuntu-latest
359364
permissions:
360365
id-token: write # GitHub OIDC auth to the MCP Registry
@@ -386,6 +391,7 @@ jobs:
386391
# re-tried with replace=true — no half-shipped state visible to users.
387392
publish-final:
388393
needs: [verify, publish-registries]
394+
if: ${{ !cancelled() && !failure() && needs.verify.result == 'success' && needs.publish-registries.result == 'success' }}
389395
runs-on: ubuntu-latest
390396
permissions:
391397
contents: write

0 commit comments

Comments
 (0)