1b8f5ed1c0a4

updates: adopt kepr's android-arm64 platform name in ANDROID_PLATFORM_KEY and kepr.build so koh offer --builds APK uploads match the allowlist kepr v1.56.237 added (v2.3.68)

time
2026-07-25 13:13 UTC · 3 months ago
machine
koh2
agent
claude-opus-5
session
android platform key sync
parent
65ac906cdbe1
4 files VERSION+1 −1app/build.gradle+2 −2app/src/main/java/com/peachpasswords/updates/UpdateManifest.kt+7 −8kepr.build+6 −6
VERSION+1 −1
@@ -1 +1 @@1-2.3.671+2.3.68

view file

app/build.gradle+2 −2
@@ -16,8 +16,8 @@1616         applicationId "com.peachpasswords"1717         minSdk 261818         targetSdk 3519-        versionCode 23670020-        versionName "2.3.67"19+        versionCode 23680020+        versionName "2.3.68"2121 2222         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"2323         vectorDrawables {

view file

app/src/main/java/com/peachpasswords/updates/UpdateManifest.kt+7 −8
@@ -14,7 +14,7 @@1414  * ```json1515  * { "version": "2.3.68",1616  *   "notes": "...",17- *   "platforms": { "arm64": { "url": "...", "checksum": "blake3:<64 hex>" } } }17+ *   "platforms": { "android-arm64": { "url": "...", "checksum": "blake3:<64 hex>" } } }1818  * ```1919  */2020 data class ReleaseManifest(@@ -47,14 +47,13 @@4747 class ManifestFormatException(message: String) : Exception(message)4848 4949 /**50- * ASSUMPTION — unverifiable from here. Kepr's generic release endpoint normalizes51- * `<repo>-<platform>` against a bare `<platform>` artifact name, so for the52- * `peach-android` repo the bare key is what the manifest should carry. Every53- * upload must use this exact platform name; if the publishing side settles on54- * something else (`arm64-v8a`, `android-arm64`, `universal`), change this one55- * constant.50+ * SETTLED — Kepr accepts `android-arm64` as of kepr v1.56.237, matching its51+ * `<os>-<arch>` platform vocabulary. This is the key the release manifest is52+ * published under, so it is the key the updater must look up. It has to stay53+ * identical to `platforms =` in this repo's `kepr.build` and to Kepr's54+ * `release_platforms` allowlist; changing any one alone breaks APK publishing.5655  */57-const val ANDROID_PLATFORM_KEY = "arm64"56+const val ANDROID_PLATFORM_KEY = "android-arm64"5857 5958 /**6059  * Parse a Kepr release manifest.

view file

kepr.build+6 −6
@@ -1,11 +1,11 @@11 # Kepr Builds config for peach-android.22 #3-# Android is not one of Kepr's cross-compile targets (its platform vocabulary is4-# linux/macos/windows); an APK is a single artifact that runs on every supported5-# ABI, so one platform entry is the honest mapping. `platform` here must match6-# ANDROID_PLATFORM_KEY in app/src/main/java/com/peachpasswords/updates/UpdateManifest.kt,7-# which is what the in-app updater looks up in the release manifest.3+# An APK is a single artifact that runs on every supported ABI, so one platform4+# entry is the honest mapping. `platforms` here must match ANDROID_PLATFORM_KEY5+# in app/src/main/java/com/peachpasswords/updates/UpdateManifest.kt (what the6+# in-app updater looks up) and Kepr's own `release_platforms` allowlist, which7+# accepts android-arm64 as of kepr v1.56.237.88 command = ./scripts/kepr-build-apk.sh99 output = build/kepr/peach-android.apk1010 trigger = manual11-platforms = arm6411+platforms = android-arm64

view file