Repository navigation
Release process
Devesh Rai edited this page Oct 21, 2026
·
1 revision
-
Signing key. Create it once and back it up somewhere safe. Every future release must be signed with it, or phones won't install the update over the old version.
keytool -genkeypair -keystore ~/.foldman/foldman-release.jks -alias foldman \ -keyalg RSA -keysize 4096 -validity 10000 -
signing.propertiesin the repository root. It's git-ignored.Without this file, release builds fall back to the debug key.storeFile=/Users/you/.foldman/foldman-release.jks storePassword=… keyAlias=foldman keyPassword=…
-
Apple Music: the MusicKit AARs in
app/libs/and a current developer token. See Apple Music and MusicKit.
-
Check the developer token has well over a month left, and renew it if not (
python3 tools/make_apple_token.py). Its expiry date is baked into the APK, and in-app Apple Music stops working when it passes. -
Bump the version at the top of
app/build.gradle.kts:val appVersionName = "0.1.2" val appVersionCode = 3 // always +1
-
Update
CHANGELOG.md, and copy it to the wiki's Changelog page. -
Build and check:
The certificate's SHA-256 must be
./gradlew :app:assembleRelease apksigner verify --print-certs app/build/outputs/apk/release/Foldman-0.1.2-release.apk
d917056f9383db11fd6f6d61e53820294e0cac70fae51edf998d773f28a18c99. - Test on a device: install it over the previous release, play each source, fold and unfold.
-
Commit, push and publish:
Put the APK's SHA-256 and the certificate fingerprint in the notes.
git commit -am "…" && git push shasum -a 256 app/build/outputs/apk/release/Foldman-0.1.2-release.apk gh release create v0.1.2 app/build/outputs/apk/release/Foldman-0.1.2-release.apk \ --title "Foldman 0.1.2" --notes-file notes.md
Check that nothing secret is staged:
git grep --cached -nIE "BEGIN PRIVATE KEY|storePassword=|apple.developerToken=ey"Foldman · Apache 2.0 · © 2026 Devesh Rai · Not affiliated with Sony, Apple, Google or Samsung.