fix(docker-release): make promote mode a true one-click release - #74
Merged
Merged
Conversation
bump_mode=promote was accidentally falling through to legacy's manual "version" bump step (its condition was != 'release-train', which also matched promote), so it still asked a human for a patch/minor/major choice despite there being only one channel in the trunk-based model. Fixed: promote now computes the bump automatically from conventional commits since the latest stable tag (same algorithm release-train-detect uses for main), and auto-resolves source_digest from the current :edge tag when not passed explicitly. workflow_dispatch now needs zero required inputs.
2 tasks
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.
Summary
bump_mode: promotewas a bug away from being a real one-click release: its version-bump step accidentally sharedlegacymode's condition (!= 'release-train', which also matchespromote), so it still asked a human for a manual patch/minor/major choice — despite the trunk-based model having only one channel, exactly the thing this migration was supposed to remove.Caught by the user reviewing the actual
Run workflowform in GitHub's UI: it still requiredversion(a dropdown) andsource_digest(required text field).promotenow computes the version bump automatically from conventional commits since the latest stable tag — same algorithmrelease-train-detectalready uses for itsmainchannel (breaking change → major,feat:→ minor, else → patch).source_digestis now optional: when empty, it's auto-resolved from the current:edgetag (the latest buildtrunk-ci-cd.ymlvalidated onmain) viadocker buildx imagetools inspect. Passing it explicitly still works, for the exceptional case of releasing an earlier commit.workflow_dispatchfor a trunk-based repo'srelease.ymlnow needs zero required inputs — click "Run workflow" and go.Also updated
openspec/changes/trunk-based-ci-cd/design.md(new D8) andtasks.md(new section 5) to record this as a design fix discovered during the beacon-api pilot, and the README's promote-mode usage example.Test plan
actionlintclean ondocker-release.ymltests/release-train-detect.test.sh— 36/36, no regression (release-train.yml untouched)release.ymlwith zero inputs