From 077683ed492faa3b591ace86cb6b508eff43ca58 Mon Sep 17 00:00:00 2001 From: sysadmin Date: Mon, 5 Oct 2026 10:54:17 +0100 Subject: [PATCH] fdroid-publish: comments follow the host's versioned APK names (silverlined-deploy #51) Co-Authored-By: Claude Opus 5.5 --- fdroid-publish/publish.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/fdroid-publish/publish.sh b/fdroid-publish/publish.sh index a3f3776..cdf83a7 100644 --- a/fdroid-publish/publish.sh +++ b/fdroid-publish/publish.sh @@ -6,7 +6,7 @@ # run from the app's own CI instead of a laptop: # scp the APK to /incoming on the repo host, run the host's # /srv/fdroid/bin/ingest.sh (which verifies the signer cert against the pin, -# moves it to repo/.apk and rebuilds the index under a lock), then read +# moves it to repo/_.apk and rebuilds the index under a lock), then read # the published index back — ingest returning 0 is not proof a client sees it. # # Inputs arrive as INPUT_* environment variables (see action.yml). @@ -99,9 +99,11 @@ head_code() { # highest versionCode the channel serves for $pkg (0 if none) before=$(head_code) || fail "could not read the $channel index at $url" say "$channel serves $pkg versionCode $before; this APK is ${version_code:-unknown}" -# ingest.sh REPLACES repo/.apk, so the channel only ever holds one APK -# per app. Publishing an older build over a newer one would roll the channel -# back — F-Droid never downgrades installed apps, so it would just go stale. +# ingest.sh publishes repo/_.apk and keeps only the newest +# two builds per app (silverlined-deploy #51), so publishing an older build would +# at best be pruned straight away and at worst evict the previous build that +# clients still holding the old index are downloading. F-Droid never downgrades +# installed apps anyway. if [ -n "$version_code" ] && [ "$version_code" -le "$before" ]; then say "::notice::$pkg $version_code is not newer than what $channel already serves ($before) — nothing to publish" exit 0 -- 2.39.5