Skip to content

Finishing the release

Xavier Molloy edited this page Dec 3, 2024 · 68 revisions

Publish design system

  • Merge release branch into main (MERGE, DON'T SQUASH AND MERGE, WITHOUT REBASE OR UPDATE)
  • Merge release branch into develop(MERGE, DON'T SQUASH AND MERGE, WITHOUT REBASE OR UPDATE)
  • Manually Launch continuous deployment job from main branch with release version to publish new version.

Check release branch is updated with:

  • In root project gradle/libs.versions.toml check:

    • Update SDK dependency dhis2sdk to the SDK release version.
    • Update mobile-UI dependency designSystem to the release version.
    • Version code needs to be updated to +1.
  • In root>app>src>main>res>raw>testing_credentials.json update login credentials to the three supported versions (does not apply for patch versions).

Github notes

For Patch versions

  • In Jira go to Releases
  • Search for version to release and click
  • Click on Release Notes
  • In formatting options select only bugs
  • Copy in Markdown format, save and paste it.
  • Paste it in root>RELEASE.md.

For Releases

For a release you will need to do it manually. Contact Nancy for this. Take the release notes from Android releases repository

In root>RELEASE.md modify using the following template:

<table>
<tr>
<td>
The new <strong>DHIS2 Android App</strong> allows offline data capture across all DHIS2 data models. Data and metadata are automatically synchronized whenever there is internet access, always keeping the most relevant data for the logged user in the device.
The app is compatible and we support <strong>41</strong>, <strong>40</strong>, <strong>2.39</strong>.
</td>
</tr> 
<tr> 
<td colspan="2" bgcolor="white">
[THE RELEASE NOTES]
</td>
</tr>
</table>
  • Update compatible versions with the three last ones: In this example as we release 3.1.0, the compatible versions would be 2.39, 40, 41.

  • At the bottom of the content body, paste the following paragraphs:

Remember to check the [Android app documentation](https://docs.dhis2.org/en/use/android-app/about-this-guide.html) for detailed information of the features included in the App and how to configure DHIS2 to use it.

For support contact us at [DHIS2 community](https://community.dhis2.org) if you have any issue.

Google Play release notes

Important Google Play has a 500 character limitation so we have to summarize main features from release documents. Notes example for "feature releases":

This new version includes the following features:
- User experience and user interface improvements.
- Indicator form event programs and data sets.
- Local analytics at TEI level.
- Display attributes and data elements on maps.
- Navigate to selected location on maps.
- Working lists.
- Stability improvements.

You can find all details in Jira and Github (github.com/dhis2/dhis2-android-capture-app). 

Notes example for "bugfixing releases":

This is a patch version that fixes:
- ANDROAPP-3983 Cannot use QR to read and populate the search form
- ANDROAPP-3927 Impossible to add TEI when the program has zero search fields
- ANDROAPP-3917 With translated DEs, Horizontal/Vertical Options not keeping values selected
- ANDROAPP-4054 App crashes when searching by Age
....
You can find all the details on Jira and Github.

Paste this content in Project root>whatsnew>whatsnew-en-US


Committing changes

Commit all these changes in release branch with the message: build: xx.xx release

Merge release NO SQUASH

After committing changes:

  • Open a pull request to main, C.I will run, wait for it to pass. Fix conflicts or code smells.
  • Merge release branch into main via merge strategy (NO SQUASH).
  • Open a pull request to develop, C.I will run, wait for it to pass. Fix conflicts or code smells.
  • Merge release branch into develop via merge strategy (NO SQUASH)
  • Open new PR than changes vName version to the next release version of the app (XX.XX-Dev).
  • Then merge (NO SQUASH) this branch into develop.

Google Play images

Important It is mandatory to update the Google Play images for the store listing if provided by the design team. This process should be reviewed and publish at the same time as the apk.


Publishing

  • Run Deploy Release job on GitHub check In Google Play developer console that uploaded APK is in production and ready to send for review, check that there is a draft release for the version. Deploy Release parameters are:
    • Branch: The branch where the release should be deployed (main).
    • Enable GitHub release: If we want to release the version in GitHub.
    • Enable Google Play Release: If we want to release the version in GitHub.
    • Tag: Release version tag.

Once we have confirmation to perform the release:

  • In Google Play developer console, if it's approved, publish changes.
  • In GitHub, publish the draft.
  • In Jira, inside Android App project -> Releases: Select the current release and release it!.

Monitoring

Once the release is live, is time to check that everything is working as expected:

  • Check Sentry releases section to see the crash free rate, it shouldn't decrease.
  • Check Sentry issues section for new issues or existing happening again.
  • In check Google play reviews and in DHIS2 community if there is any specific issue reported by users.
  • Once adoption is over 15%, and everything works as expected, we can update the rollout to 100%.
Clone this wiki locally