name: Release checklist description: Checklist for each release. This template is only for the core team. title: "[Release] Element Android v" labels: [🚀 Release] assignees: - bmarty body: - type: textarea id: checklist attributes: label: Release checklist placeholder: | If you are reading this, you have deleted the content of the release template: undo the deletion or start again. value: | ### Before the release - [ ] Weblate sync, fix lint issue if any (in a dedicated PR) - [ ] Check the update of the store descriptions (using Google Translate if necessary) to ensure that the changes are acceptable to be published to the stores. - [ ] While Weblate is locked, and after the PR from Weblate has been merged, handle all the TODOs in the main `strings.xml` file - [ ] Run the script `./tools/release/pushPlayStoreMetaData.sh`. You can check in the GooglePlay console the Activity log to check the effect. - [ ] Ensure all [the required PRs](https://github.com/element-hq/element-android/pulls?q=is%3Aopen+is%3Apr+label%3AZ-NextRelease) have been merged ### Do the release - [ ] Run the script ./tools/release/releaseScript.sh and follow the steps. ### Once tested and validated internally - [ ] Create a new open testing release on the GooglePlay console and upload the 4 signed Apks. - [ ] Check that the version codes are correct - [ ] Copy the fastlane change to the GooglePlay console in the section en-GB. - [ ] Push the open testing release to 100% of the users - [ ] Notify the F-Droid team [here](https://matrix.to/#/!LAAuJLQXYHjMNWKrCK:matrix.org?via=matrix.org&via=bubu1.eu&via=lant.uk) so that they can schedule the publication on F-Droid - [ ] The application is available to the PlayStore testers (live). Google can take between 1 hour and up to 7 days to approve the release. - [ ] The application is available to the F-Droid users. ### Once open testing is live on PlayStore - [ ] Ping the Android public room and update its topic ### Once Live on F-Droid - [ ] Update the Android public room topic ### After at least 2 days (generally next Monday) - [ ] Check the [rageshakes](https://github.com/matrix-org/element-android-rageshakes/issues) - [ ] Check the crash reports on the GooglePlay console - [ ] Check the Android Element room for any reported issues on the new version - [ ] If all is OK, promote the open testing release to production. Generally using a 100% roll out, but can be a smaller value depending on the release content. - [ ] The application is available to the PlayStore users (live). Google can take (again!) between 1 hour and up to 7 days to approve the release. ### Once production is live on PlayStore - [ ] Ping the Android public room and update its topic - [ ] Add an entry in the internal diary ### Android SDK2 The SDK2 and the sample app are released only when Element has been pushed to production. - [ ] On the [SDK2 project](https://github.com/matrix-org/matrix-android-sdk2), run the script ./tools/releaseScript.sh and follow the instructions. Note: if the step `./gradlew closeAndReleaseRepository` fails (for instance, several repositories are waiting to be handled), you have to close and release the repository manually. Do the following steps: - [ ] Connect to https://s01.oss.sonatype.org - [ ] Click on Staging Repositories and check the the files have been uploaded - [ ] Click on close - [ ] Wait (check Activity tab until step "Repository closed" is displayed) - [ ] Click on release. The staging repository will disappear ### Android SDK2 sample https://github.com/matrix-org/matrix-android-sdk2-sample - [ ] Update the dependency to the new version of the SDK2. It can take a few minutes for MavenCentral to make the library available. You can check status on https://repo1.maven.org/maven2/org/matrix/android/matrix-android-sdk2/ - [ ] Build and run the sample, you may have to fix some API break - [ ] Commit and push directly on `main` validations: required: true