Submission of apps to the android and iOS app stores happens during the CI builds on master branch. It is handled by codemagic pipeline and is part of codemagic.yaml configuration.
By default the submission is for internal dev testing equivalent for both the stores. This means only the users who are part of the internal dev testers shall get the testflight update(once it is added) or internal testing build from the Google play store. Reach out to the Project Manager/Site Reliability Engineer with the details of which Apple AppStore/Google Play email address you would like to get added to the list.
The Google Play Console offers four tracks for release management:
- Internal Testing
- Closed Testing
- Open Testing
- Production
For the Pariyatti Mobile app at this point we do not need four different channels. We are moving away from maintaining the app in four tracks to just the following tracks:
- Internal Testing
- Production
A simple workflow allows us to add upto 100 Internal testers for testing --> Production
Any potential volunteer who would like to participate in testing of the app before it releases in production can request to be added internal testers group.
-
Login to the CodeMagic console and check that for the targest app version containing the commits that you would like to promote, app-release.aab has been submitted to internal track.
-
Head over to the Google Play console and confirm that the release is already present in internal testing
-
Confirm that the release notes are appropriate and submit for review. It can take anywhere from a few hours to 1-2 days for getting the approval from Play Store and the app being published
-
You can check the status of your submission in the Production menu tab
In iOS App Store Connect we have fewer tracks to manage. There are two at this point:
- TestFlight
- Production Release
TestFlight requires special user invitation and the invited users need to install the TestFlight app on their iOS devices to get the version in TestFlight.
-
Login to Apple Developer Console, and launch App Store Connnect.
-
TestFlight Release: Select the target version that is slated for a release and associate it with the internal group "Pariyatti Staff and Volunteers". Based on the changes, inform the internal communication thread that build is available to test.
- In case there is a need to modify the Group member list, head to the group in "Internal Testing". This shows the list of current members and the versions their TestFlight apps are running.
- Production Release: Head to "App Store" tab in App Store Connect and click on the +(plus) icon besides the iOS app and enter the target semver of the app that was generated by CI as seen previously
- Add the release notes, these would highly be probably same accross both Android and iOS apps, unless we are addressing a platform specific issue.
- Select the target version in the "Build Section"
- Select automatic release and release to all the users. We are defaulting to the simplest release process.
- Check the release information once and add it to queue using "Add for Review" button
- Confirm submission and "Submit to App Review"
Both the app release processes take a few hours typically to be approved and emails are sent to us once the app has been made live. So, watch out for those. Thank you!