Build fast-ring for rc as rc, instead of copying stable's artifacts

The rc channel's Arch base can sit anywhere between stable's snapshot and
edge's, so a package built against stable's libraries is not necessarily
correct for rc. Copying stable's fast-ring artifacts into rc therefore shipped
possibly-mislinked packages to RC testers. Fast-ring packages now build
natively for all three channels, each in its own image against its own base
mirror, and the stable release's replication step is gone.

That required separating 'may be built here' from 'whose version wins'. The
release pair is now marked "pinned": its version is set per release on the rc
branch, so it builds for rc only from that branch's worktree
(OMARCHY_RC_PINS=1, set by omarchy-release rc) — master's shipped pins can
never overwrite an in-flight RC, even though check-versions now discovers rc
work like it does for edge and stable.
This commit is contained in:
Ryan Hughes
2026-08-27 12:39:29 -04:00
parent 9fd75fc3ba
commit dbb5e72051
10 changed files with 74 additions and 111 deletions
-20
View File
@@ -218,25 +218,5 @@ else
notify_info "Release ran with nothing to publish: $MIRROR" "$summary"
fi
# Step 7 (stable only): fast-ring packages publish to rc and stable together,
# so rc never falls behind what stable users actually run. Skipped until the
# rc channel has been bootstrapped.
if [[ "$MIRROR" == "stable" ]]; then
echo ""
if [[ -f "$REPO_ROOT/rc/$ARCH/omarchy.db.tar.zst" ]]; then
print_info "Step 7: Replicating fast-ring packages to rc (parity)..."
REPLICATE_ARGS=(--from stable --to rc --fast-ring --arch "$ARCH")
[[ -n "$SYNC_REMOTE" ]] && REPLICATE_ARGS+=(--sync-remote "$SYNC_REMOTE")
[[ "$SKIP_PROD_CHECK" == true ]] && REPLICATE_ARGS+=(--skip-prod-check)
"$BUILD_ROOT/bin/advance-channel" "${REPLICATE_ARGS[@]}" || {
print_error "Fast-ring replication to rc failed"
notify_error "Release failed: rc parity replication failed" "$RELEASE_CONTEXT"
exit 1
}
else
print_info "rc channel not bootstrapped; skipping fast-ring replication"
fi
fi
echo ""
print_success "Release workflow completed successfully!"