Retire the bridge to the old dev channel release
Android / Build, or is the channel already serving this? (push) Successful in 4s
Android / Core and FFI clippy and tests (push) Skipped
Android / Kotlin + Rust (APK) (push) Skipped
Android / Build the server image (push) Skipped
CI & Build / Build now, or wait for Android? (push) Successful in 3s
CI & Build / Web typecheck and unit tests (push) Successful in 14s
CI & Build / Python lint (push) Successful in 4s
CI & Build / Python tests (push) Successful in 18s
Desktop (Tauri) / Build, or is the channel already serving this? (push) Successful in 4s
CI & Build / integration (push) Successful in 1m33s
CI & Build / Build & push image (push) Successful in 34s
Desktop (Tauri) / Web tests, clippy, Rust tests and rustfmt (push) Successful in 2m55s
Desktop (Tauri) / Windows installer (cross-compiled) (push) Successful in 3m3s
Desktop (Tauri) / Tauri desktop (Linux) (push) Successful in 3m51s
Desktop (Tauri) / Update manifest (push) Successful in 4s
Android / Build, or is the channel already serving this? (push) Successful in 4s
Android / Core and FFI clippy and tests (push) Skipped
Android / Kotlin + Rust (APK) (push) Skipped
Android / Build the server image (push) Skipped
CI & Build / Build now, or wait for Android? (push) Successful in 3s
CI & Build / Web typecheck and unit tests (push) Successful in 14s
CI & Build / Python lint (push) Successful in 4s
CI & Build / Python tests (push) Successful in 18s
Desktop (Tauri) / Build, or is the channel already serving this? (push) Successful in 4s
CI & Build / integration (push) Successful in 1m33s
CI & Build / Build & push image (push) Successful in 34s
Desktop (Tauri) / Web tests, clippy, Rust tests and rustfmt (push) Successful in 2m55s
Desktop (Tauri) / Windows installer (cross-compiled) (push) Successful in 3m3s
Desktop (Tauri) / Tauri desktop (Linux) (push) Successful in 3m51s
Desktop (Tauri) / Update manifest (push) Successful in 4s
Scribe #3884. The dev channel's release tag moved from `dev` to `dev-rolling` on 2026-09-10. Since then, the manifest job has also written latest.json to the old `dev` release, so that desktop apps installed before the move could update across. The operator has had two desktop installs and is fine reinstalling, so the bridge goes. The old release and tag are deleted next, through the forge. - desktop.yml: the BRIDGE_TAG=dev export is removed. - write-manifest.sh: the TEMPORARY bridge block is removed. - ci-requirements.md: the "Transitional" paragraph becomes a note that the tag is gone, and that an app installed before 2026-09-10 reinstalls with install.sh. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -161,41 +161,6 @@ printf '{\n "version_name": "%s",\n "version_code": "%s"\n}\n' \
|
||||
"$DISPLAY_VERSION" "$APP_VERSION" > "$work/inkwell-desktop.json"
|
||||
replace_asset "$work/inkwell-desktop.json" "inkwell-desktop.json"
|
||||
|
||||
# --- TEMPORARY: the one-shot bridge off a retired channel tag ------------------
|
||||
#
|
||||
# The dev channel's tag was renamed `dev` -> `dev-rolling`, because a tag named `dev`
|
||||
# shadowed the branch and broke `git push origin dev` (Scribe #2184). Desktop apps
|
||||
# installed before the rename have `.../download/dev/latest.json` compiled in, so
|
||||
# without this they would never be offered another build.
|
||||
#
|
||||
# BRIDGE_TAG names the old release; the SAME manifest is written there too. Its URLs
|
||||
# are absolute and name `dev-rolling` assets, so an old app updates once into a build
|
||||
# that reads the new tag, and never reads this one again. Only latest.json goes
|
||||
# across: the sidecar is read by CI and the image build, which already follow the
|
||||
# new tag.
|
||||
#
|
||||
# A missing bridge release is logged and skipped, not fatal — by then it has been
|
||||
# deleted on purpose. A failed WRITE to one that exists fails the job: a bridge that
|
||||
# silently stops is an installed base stranded without a word. Remove this block,
|
||||
# the BRIDGE_TAG line in desktop.yml, and the old release and tag together.
|
||||
if [ -n "${BRIDGE_TAG:-}" ]; then
|
||||
bridge_release="$(curl -sS "${AUTH[@]}" "$API/releases/tags/$BRIDGE_TAG" || true)"
|
||||
bridge_id="$(printf '%s' "$bridge_release" | grep -oE '"id"[[:space:]]*:[[:space:]]*[0-9]+' | head -1 | grep -oE '[0-9]+' || true)"
|
||||
if [ -z "$bridge_id" ]; then
|
||||
echo "==> No release tagged $BRIDGE_TAG — nothing to bridge (retired?)."
|
||||
else
|
||||
# A subshell, so replace_asset's globals point at the bridge release for this
|
||||
# one call only and the prune below still works on $RELEASE_TAG.
|
||||
(
|
||||
release_id="$bridge_id"
|
||||
RELEASE_TAG="$BRIDGE_TAG"
|
||||
assets="$(curl -sS "${AUTH[@]}" "$API/releases/$release_id/assets")"
|
||||
replace_asset "$work/latest.json" "latest.json"
|
||||
)
|
||||
echo "==> Bridged: $BRIDGE_TAG/latest.json now advertises the same build."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "==> Done. $RELEASE_TAG now advertises $DISPLAY_VERSION ($APP_VERSION) for ${#entries[@]} platform(s)."
|
||||
|
||||
# --- prune superseded builds from a rolling channel ---------------------------
|
||||
|
||||
Reference in New Issue
Block a user