EquiTrail — Release Checklist¶
Run through this before every Play Console upload.
Pre-Build¶
-
flutter analyze— no errors (warnings OK) -
flutter pub get— clean -
pubspec.yamlversion bumped (auto byscripts/build_release.sh) -
CHANGELOG.mdupdated with changes -
CLAUDE.mdTODO section updated - Watch versionCode = phone versionCode + 1000 in
android/wearable/build.gradle.kts
Build¶
# Phone AAB
cd /Users/nossie/app/equitrail
flutter build appbundle --release --obfuscate --split-debug-info=symbols/
# → build/app/outputs/bundle/release/app-release.aab
# Wearable AAB
cd android
./gradlew :wearable:bundleRelease
# → /Users/nossie/app/equitrail/build/wearable/outputs/bundle/release/wearable-release.aab
- Phone AAB exists and is > 30 MB
- Wearable AAB exists and is > 5 MB
Upload¶
cd /Users/nossie/app/equitrail
# Phone → internal track
python3 scripts/play_upload.py \
--aab build/app/outputs/bundle/release/app-release.aab \
--track internal
# Watch → wear:internal track
python3 scripts/play_upload.py \
--aab build/wearable/outputs/bundle/release/wearable-release.aab \
--track wear:internal
- Phone upload: confirmed versionCode logged
- Watch upload: confirmed versionCode logged
Play Console (manual steps)¶
- Play Console → Internal testing → Review release → Start rollout (100%)
- For watch: wear:internal track → same
Post-Release¶
-
git add pubspec.yaml android/wearable/build.gradle.kts -
git commit -m "chore: release vX.Y.Z+N / vN+1000" -
git push - Update
docs/current_task.md→ mark uploads complete - Update
docs/dev-reference.md→ Play Console upload history table
iOS (when Apple Developer enrolled)¶
flutter build ipa --release
# → build/ios/ipa/equitrail.ipa
# Upload via Xcode: open build/ios/archive/Runner.xcarchive → Distribute
# OR: xcrun altool --upload-app --file build/ios/ipa/equitrail.ipa --type ios
- Archive built
- Uploaded via Xcode / Transporter
- TestFlight → External testers → invite link shared
Key Files & Paths¶
| Artifact | Path |
|---|---|
| Phone AAB | build/app/outputs/bundle/release/app-release.aab |
| Wearable AAB | build/wearable/outputs/bundle/release/wearable-release.aab |
| iOS Archive | build/ios/archive/Runner.xcarchive |
| iOS IPA | build/ios/ipa/equitrail.ipa |
| Service account | android/play_service_account.json |
| Keystore | android/equitrail.jks |
| Key properties | android/key.properties |