@@ -497,20 +497,41 @@ class NetworkRepository @Inject constructor(
497497
498498## Deployment & Release
499499
500+ ### Release Process
501+ ** IMPORTANT** : All release changes must be made on a dedicated release branch, NOT on ` main ` .
502+
503+ 1 . ** Create Release Branch** : ` git checkout -b release/vX.Y.Z ` (e.g., ` release/v1.17 ` )
504+ 2 . ** Update Version** : Increment ` versionCode ` and ` versionName ` in ` app/build.gradle.kts `
505+ 3 . ** Update Release Notes** : Add new release section in ` project-resources/google-play/release-notes.md `
506+ 4 . ** Build & Test** : Run ` ./gradlew clean assembleRelease bundleRelease `
507+ 5 . ** Commit Changes** : Commit version bump and release notes on the release branch
508+ 6 . ** Create PR** : Open pull request from release branch to ` main `
509+ 7 . ** Merge & Tag** : After PR approval, merge to ` main ` and create git tag ` vX.Y.Z `
510+ 8 . ** Upload to Play Store** : Upload AAB to Google Play Console
511+
500512### Version Management
501- - Update ` versionCode ` and ` versionName ` in ` app/build.gradle.kts `
513+ - Update ` versionCode ` (increment by 1) and ` versionName ` in ` app/build.gradle.kts `
502514- Update release notes in ` project-resources/google-play/release-notes.md `
503515- Follow semantic versioning (MAJOR.MINOR.PATCH)
516+ - Create git tag matching the version (e.g., ` v1.17 ` )
504517
505518### Release Checklist
506- - [ ] Update version code and name
507- - [ ] Update release notes
519+ - [ ] Create release branch (e.g., ` release/v1.17 ` )
520+ - [ ] Update version code and name in ` app/build.gradle.kts `
521+ - [ ] Update ` release-notes.md ` with new release section
522+ - [ ] Check ` local.properties ` for correct keystore path and password
523+ - [ ] Build release: ` ./gradlew clean assembleRelease bundleRelease `
508524- [ ] Test release build locally
509- - [ ] Run full test suite
525+ - [ ] Run full test suite: ` ./gradlew test `
510526- [ ] Check ProGuard/R8 obfuscation
511527- [ ] Verify Firebase integration
512- - [ ] Upload to Firebase Test Lab
513- - [ ] Submit to Google Play Console
528+ - [ ] Commit and push release branch
529+ - [ ] Create pull request to ` main `
530+ - [ ] After merge, create git tag: ` git tag -a vX.Y.Z -m "Release vX.Y.Z" `
531+ - [ ] Push tag: ` git push origin vX.Y.Z `
532+ - [ ] Upload AAB to Firebase Test Lab
533+ - [ ] Upload AAB to Google Play Console
534+ - [ ] Create GitHub release from tag with release notes
514535
515536## Troubleshooting
516537
0 commit comments