Closer/docs/release/internal-testing-checklist.md

2.9 KiB

Internal Testing Release Checklist

Steps to prepare and distribute a private MVP build for internal testing.

1. Signing Config

  • Generate or locate keystore for signing
    • Keytool command: keytool -genkeypair -v -keystore closer-release.jks -keyalg RSA -keysize 2048 -validity 10000 -alias closer
  • Store keystore file securely (NOT in git)
  • Add signing config to app/build.gradle.kts:
    • storeFile, storePassword, keyAlias, keyPassword
    • Read from local.properties or environment variables
  • Verify debug and release build variants both compile

2. Build Configuration

  • Set applicationId to app.closer (verify not com.couplesconnect)
  • Set versionCode and versionName in app/build.gradle.kts
  • Set minSdk, targetSdk to appropriate values
  • Verify RC_API_KEY in local.properties (or placeholder for testing)
  • Verify google-services.json is present and points to correct Firebase project
  • Remove or guard debug logging (android.util.Log calls)

3. Firebase Configuration

  • Firebase project created (or confirmed existing)
  • Authentication enabled: Email/Password sign-in method
  • Firestore rules deployed and tested
  • Cloud Functions deployed:
    • revenueCatWebhook
    • syncEntitlement
    • sendDailyQuestionReminder
    • sendPartnerAnsweredNotification
    • health
  • FCM enabled for the project
  • RevenueCat project configured with Firebase integration (placeholder for now)

4. Test Accounts

  • Create 2 test accounts (couple A: user1@test.com / user2@test.com)
  • Create 1 solo test account (single user: solo@test.com)
  • Verify sign-up → profile creation → home flow on each
  • Pair test couple via invite code
  • Verify paired state persists across app restarts

5. Android App Distribution

  • Install Firebase App Distribution Gradle plugin
  • Add app distribution section to app/build.gradle.kts
  • Build release APK: ./gradlew :app:assembleRelease
  • Distribute via Firebase App Distribution:
    firebase appdistribution:distribute app/build/outputs/apk/release/app-release.apk \
      --app <FIREBASE_APP_ID> \
      --groups internal-testers \
      --release-notes "Private MVP v0.1.x"
    
  • Add tester email addresses to Firebase App Distribution group
  • Testers receive download link via email

6. Pre-Distribution Smoke Test

  • Install release APK on a physical device
  • Walk through the full QA checklist (docs/qa/private-mvp-checklist.md)
  • Verify no crashes on cold start, warm start, or background restore
  • Verify notification permissions prompt appears on Android 13+
  • Verify paywall loads (even with placeholder API key)

7. Post-Distribution

  • Collect crash reports from Firebase Crashlytics
  • Monitor Firestore usage in Firebase Console
  • Monitor Cloud Function logs for errors
  • Collect tester feedback via dedicated channel