feat: add stable promotion workflow#214
Open
randy-concepcion wants to merge 1 commit into
Open
Conversation
randy-concepcion
force-pushed
the
AIPLAT-911-stable-promotion-workflow
branch
from
July 24, 2026 14:22
ee9467f to
87cbe09
Compare
randy-concepcion
marked this pull request as ready for review
July 24, 2026 16:53
|
|
||
| # v-prefixed strict semver, no leading zeros or pre-release suffix | ||
| if [[ ! "$RELEASE_TAG" =~ ^v(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$ ]]; then | ||
| echo "::error::Release tag must be a v-prefixed stable version, got: '$RELEASE_TAG'" |
Collaborator
There was a problem hiding this comment.
This is a great addition, we've accidentally released tags without the v-prefixed version before 🙌
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.
What's New
.github/workflows/promote-release.yml, triggered onrelease: released. Promotes an RC-tagged image to its stable tag in GAR by tagging the existing digest, no rebuild.release: publishedtrigger fromdocker-publish.yml, which rebuilt the image and produced a different digest than the main-push build. ThevX.Y.Ztag is now created bypromote-release.ymlinstead.[skip ci]from the auto-bump commit message so bump commits get a main-push build and land a short-SHA image in GAR. The auto-bump job won't loop, since it exits whenproject.versionis already ahead of the latest tag.Context
Part of AIPLAT-911. Together with #212 this provides the RC-tagging and stable-promotion mechanics for MLPA, so a released image carries its short-SHA, RC, and stable tags on the same digest instead of being rebuilt at release time.
flowchart LR A[merge to main] --> B["build<br/>(short-SHA tag)"] B --> C["RC workflow #212<br/>adds vX.Y.Z-rc.N"] C --> D["validate RC on stage<br/>(manual)"] D --> E["create GitHub release<br/>(manual)"] E --> F["this PR<br/>adds vX.Y.Z"] style F fill:#e8f4f8Testing
Cannot be tested end to end before merge. The workflow only triggers on
release: released, so it can't be run from a PR branch.It also can't be validated against past releases. Previous bump commits never got a main-push build, so their short-SHA images aren't in GAR. A run against
v1.0.22or earlier fails with "Source image ... could not be resolved." That's expected.Validation on the first release after this merges:
Notes
latestis untouched and stays owned by the main-push build. A release can target a commit behindmain, so movinglatestat release time could roll dev backward.values-prod.yamlchange and Argo sync.Related