Releasing

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.