Problem
The Android staging builds (deploy-mobile-android-staging.yml) currently compile preview APKs without a fixed keystore, causing Gradle to generate an ephemeral debug keystore on each CI run.
This causes two issues:
- The SHA-256 signing fingerprint changes on every CI build, making it impossible to register a static package signature in Android Developer Verification (Google Play Console) for
org.masch.sonora.staging.app.
- Testers on Firebase App Distribution must uninstall the existing app before installing new staging builds because the signing key changes across builds.
Proposed Solution
- Generate a dedicated staging keystore (
sonora-staging-keystore.jks).
- Store the base64-encoded keystore and passwords in GitHub Actions
staging secrets (e.g., STAGING_KEYSTORE_BASE64, STAGING_KEYSTORE_PASSWORD, STAGING_KEY_PASSWORD).
- Update
apps/mobile/eas.json and .github/workflows/deploy-mobile-android-staging.yml to write the staging keystore and build signed staging APKs deterministically.
Problem
The Android staging builds (
deploy-mobile-android-staging.yml) currently compile preview APKs without a fixed keystore, causing Gradle to generate an ephemeral debug keystore on each CI run.This causes two issues:
org.masch.sonora.staging.app.Proposed Solution
sonora-staging-keystore.jks).stagingsecrets (e.g.,STAGING_KEYSTORE_BASE64,STAGING_KEYSTORE_PASSWORD,STAGING_KEY_PASSWORD).apps/mobile/eas.jsonand.github/workflows/deploy-mobile-android-staging.ymlto write the staging keystore and build signed staging APKs deterministically.