Instructions for releasing Android Apps

All Medic’s android projects automatically build, sign, and release builds via Github Actions. The following guide applies to any of these apps, although the last 2 are in maintenance mode (links pointing to the release sections):

Alpha for release testing

  1. Make sure all issues for this release have passed AT and been merged into master. You can also create an alpha release from a feature branch, to provide the needed .apk files to the QA team.
  2. Create a git tag starting with v and ending with the alpha version, e.g. git tag v1.2.3-alpha.1 and push the tag to GitHub (git push --tags). For features branches, you can add the name of the branch or whatever keyword helps to identify the the release, e.g. v1.2.3-alpha.dark-theme.4.
  3. Creating the tag will trigger the building and signing of the app in CI. The release-ready APKs are available for side-loading from the Releases section in the project (e.g. CHT-Android Releases), along with the AABs that may be required by the Google Play Store.
  4. Side-Load: for testing internally, or apps that are not published in the Play Store like Collect and Gateway: Navigate to the GitHub Releases page (linked above) and download the relevant APKs for distribution.
  5. Announce the release in #quality-assurance.

Production release

  1. Repeat step 2-3 from the above alpha release section with the naming convention v<major>.<minor>.<patch>.
  2. The CI build for the tag will create a new draft release on GitHub. Include the release notes from the CHANGELOG in the description of the release and publish the release on GitHub.
  3. Publish in the Play Store, F-Droid or whatever channel is used for publishing. For the CHT-Android app, the “reference” apps (medicmobilegamma and unbranded) must be published in the Play Store.
  4. Announce the release on the CHT forum, under the “Product - Releases” category.