You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update the smoke-test repository-dispatch workflow so final releases dispatch downstream promote-release.yml (publish release, merge PR, cleanup RC tags) instead of only merging the release PR; and so RC triggers verify release-PR CI but do not merge to main.
Today assets/smoke-test/.github/workflows/repository-dispatch.yml runs merge-release-pr for both RC and final: it enables auto-merge and polls.
Downstream release.yml creates a draft final release; nobody publishes it, so the release stays draft.
Upstream .github/workflows/promote-release.yml requires a published (non-draft, non-prerelease) downstream final release before it proceeds — so automation fails unless someone publishes manually.
For RC, merging the release PR to main on every candidate is unnecessary; the branch is recreated on the next dispatch.
Proposed solution
Behavior split by release_kind:
Common path (RC + final): existing steps through trigger-release unchanged in intent; then replace terminal merge behavior as below.
Remove the merge-release-pr job.
Addwait-release-pr-ci (RC + final): after trigger-release, poll required checks on the release PR (gh pr checks); succeed when green; fail on failure or timeout (e.g. 30 min). For RC this is terminal — PR stays open.
Addtrigger-promote-release (final only): if: needs.validate.outputs.release_kind == 'final'; repository-dispatch promote-release.yml on dev with version=$BASE_VERSION; same dispatch-and-poll pattern as trigger-release / trigger-prepare-release. Downstream promote-release validates draft + PR, publishes release, merges PR, cleans RC tags.
Updatesummary and notify-failure: depend on wait-release-pr-ci and trigger-promote-release; treat skipped trigger-promote-release on RC as success, not failure.
Docs: Update docs/CROSS_REPO_RELEASE_GATE.md — receiver triggers promote-release for final; RC path no longer merges.
Scope:assets/smoke-test/.github/workflows/repository-dispatch.yml + docs/CROSS_REPO_RELEASE_GATE.md. Do not change upstream or workspace-template promote-release.yml in this issue.
Description
Update the smoke-test
repository-dispatchworkflow so final releases dispatch downstreampromote-release.yml(publish release, merge PR, cleanup RC tags) instead of only merging the release PR; and so RC triggers verify release-PR CI but do not merge tomain.Problem statement
promote-release.yml.assets/smoke-test/.github/workflows/repository-dispatch.ymlrunsmerge-release-prfor both RC and final: it enables auto-merge and polls.release.ymlcreates a draft final release; nobody publishes it, so the release stays draft..github/workflows/promote-release.ymlrequires a published (non-draft, non-prerelease) downstream final release before it proceeds — so automation fails unless someone publishes manually.mainon every candidate is unnecessary; the branch is recreated on the next dispatch.Proposed solution
Behavior split by
release_kind:Common path (RC + final): existing steps through
trigger-releaseunchanged in intent; then replace terminal merge behavior as below.merge-release-prjob.wait-release-pr-ci(RC + final): aftertrigger-release, poll required checks on the release PR (gh pr checks); succeed when green; fail on failure or timeout (e.g. 30 min). For RC this is terminal — PR stays open.trigger-promote-release(final only):if: needs.validate.outputs.release_kind == 'final'; repository-dispatchpromote-release.ymlondevwithversion=$BASE_VERSION; same dispatch-and-poll pattern astrigger-release/trigger-prepare-release. Downstreampromote-releasevalidates draft + PR, publishes release, merges PR, cleans RC tags.summaryandnotify-failure: depend onwait-release-pr-ciandtrigger-promote-release; treat skippedtrigger-promote-releaseon RC as success, not failure.Docs: Update
docs/CROSS_REPO_RELEASE_GATE.md— receiver triggerspromote-releasefor final; RC path no longer merges.Scope:
assets/smoke-test/.github/workflows/repository-dispatch.yml+docs/CROSS_REPO_RELEASE_GATE.md. Do not change upstream or workspace-templatepromote-release.ymlin this issue.Alternatives considered
repository-dispatch.yml— rejected (DRY; dogfoodpromote-releasetemplate).Additional context
assets/workspace/.github/workflows/promote-release.ymlviainit-workspace.sh.Impact
promote-releaseby publishing the downstream final release automatically.Changelog category: Changed
.cursor/rules/tdd.mdc)