feat(release): stage artifacts for the bash installer, re-setup promote flow - #644
Conversation
📝 WalkthroughWalkthroughThis PR adds two new shell scripts, ChangesRelease Staging and Channel Promotion
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant Release as release.yml
participant Stage as stage-release.sh
participant GCS as gs://minimal-one
participant SetChan as set-channel.sh
Release->>Stage: run with artifacts, short_sha
Stage->>GCS: upload artifacts and components manifest
Release->>SetChan: update unstable channel to short_sha
SetChan->>GCS: verify staged version and upload pointer
GCS-->>Release: staging and channel update confirmed
sequenceDiagram
participant Approver
participant Promote as promote.yml
participant GCS as gs://minimal-one
participant SetChan as set-channel.sh
Approver->>Promote: dispatch sha, target (stable/unstable)
Promote->>GCS: resolve latest staged SHA if empty
Promote->>SetChan: run with channel, bucket, version
SetChan->>GCS: verify staged version
SetChan->>GCS: update channel pointer
GCS-->>Promote: confirm promotion complete
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/promote.yml:
- Around line 180-196: In the promote workflow’s shell step, the fallback logic
in the SHA lookup block can be aborted by `set -e` when `gcloud storage ls -l
"gs://minimal-one/versions/*/components"` returns no matches. Update the
`LATEST` assignment in this block to handle the empty-list case defensively so
the script continues long enough to reach the existing `if [ -z "$LATEST" ]`
check and print the explicit “no staged versions found” error, while keeping the
`SHA`/`LATEST` fallback behavior in the same script section.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 5b753622-a039-41f3-9b84-5bd994174ea5
📒 Files selected for processing (4)
.github/workflows/promote.yml.github/workflows/release.ymlscripts/set-channel.shscripts/stage-release.sh
6045ea0 to
c36c091
Compare
Releaseworkflow now stages artifacts ready for consumption by bash installerPromoteworkflow now sets pointer file for bash installerSummary by CodeRabbit
New Features
Bug Fixes