diff --git a/bin/advance-channel b/bin/advance-channel
index 3aae88e..50aff09 100755
--- a/bin/advance-channel
+++ b/bin/advance-channel
@@ -346,10 +346,16 @@ if ((COPIED > 0)); then
done <<<"$COPIED_FILES"
((COPIED > shown)) && moved+="
• …and $((COPIED - shown)) more"
- label="Promoted $FROM → $TO"
- [[ "$BOOTSTRAP" == true ]] && label="Bootstrapped the $TO channel from $FROM"
- [[ "$FAST_RING_ONLY" == true ]] && label="Replicated fast-ring $FROM → $TO"
-
- notify_info "$label" \
- "Arch: $ARCH · $(hostname -s 2>/dev/null || echo host)
$COPIED package(s) moved:$moved
Live at https://pkgs.omarchy.org/$TO/$ARCH/"
+ if [[ "$FAST_RING_ONLY" == true ]]; then
+ # Parity replication rides along with a stable release, which has already
+ # reported these exact packages. Repeating the list would double every
+ # fast-ring release in chat, so this is a one-liner.
+ notify_info "Kept $TO in parity: $COPIED fast-ring package(s) from $FROM" \
+ "Arch: $ARCH · the same artifacts just published to $FROM"
+ else
+ label="Promoted $FROM → $TO"
+ [[ "$BOOTSTRAP" == true ]] && label="Bootstrapped the $TO channel from $FROM"
+ notify_info "$label" \
+ "Arch: $ARCH · $(hostname -s 2>/dev/null || echo host)
$COPIED package(s) moved:$moved
Live at https://pkgs.omarchy.org/$TO/$ARCH/"
+ fi
fi
diff --git a/bin/release b/bin/release
index b4333af..10946aa 100755
--- a/bin/release
+++ b/bin/release
@@ -198,6 +198,26 @@ fi
exit 1
}
+duration=$(format_duration $(($(date +%s) - RELEASE_STARTED_AT)))
+summary="$RELEASE_CONTEXT
Duration: $duration"
+if ((BUILT_COUNT > 0)); then
+ summary+="
$BUILT_COUNT package(s) published:"
+ summary+="$(format_package_list_html "$BUILT_FILES")"
+ summary+="
Live at https://pkgs.omarchy.org/$MIRROR/$ARCH/"
+ notify_success "Release published: $MIRROR" "$summary"
+else
+ # Rare by construction: a release only runs when the version check queued
+ # work, so publishing nothing means the check and the builder disagreed
+ # about what needs building. Worth reporting for exactly that reason — if
+ # these start recurring, something is flagging a package that never builds.
+ summary+="
No packages needed building — the version check and the"
+ summary+=" builder disagree about what is out of date."
+ if [[ -n "$QUEUED_PACKAGES" && "$QUEUED_PACKAGES" != "0" ]]; then
+ summary+="
Queued but not built: $(head -25 "$QUEUE_FILE" | tr '\n' ' ' | basecamp_html_escape)"
+ fi
+ 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.
@@ -220,23 +240,3 @@ fi
echo ""
print_success "Release workflow completed successfully!"
-
-duration=$(format_duration $(($(date +%s) - RELEASE_STARTED_AT)))
-summary="$RELEASE_CONTEXT
Duration: $duration"
-if ((BUILT_COUNT > 0)); then
- summary+="
$BUILT_COUNT package(s) published:"
- summary+="$(format_package_list_html "$BUILT_FILES")"
- summary+="
Live at https://pkgs.omarchy.org/$MIRROR/$ARCH/"
- notify_success "Release published: $MIRROR" "$summary"
-else
- # Rare by construction: a release only runs when the version check queued
- # work, so publishing nothing means the check and the builder disagreed
- # about what needs building. Worth reporting for exactly that reason — if
- # these start recurring, something is flagging a package that never builds.
- summary+="
No packages needed building — the version check and the"
- summary+=" builder disagree about what is out of date."
- if [[ -n "$QUEUED_PACKAGES" && "$QUEUED_PACKAGES" != "0" ]]; then
- summary+="
Queued but not built: $(head -25 "$QUEUE_FILE" | tr '\n' ' ' | basecamp_html_escape)"
- fi
- notify_info "Release ran with nothing to publish: $MIRROR" "$summary"
-fi