From ba8af591664b257eaa67a46c96a4e9218a1b760a Mon Sep 17 00:00:00 2001 From: Pauline Auvray Date: Wed, 13 Sep 2023 15:36:31 +0200 Subject: [PATCH] Update release process --- release/RELEASE.md | 93 +++++++++++++++++++++++++++------------------- 1 file changed, 54 insertions(+), 39 deletions(-) diff --git a/release/RELEASE.md b/release/RELEASE.md index 0a026a3f6..027b5af0d 100644 --- a/release/RELEASE.md +++ b/release/RELEASE.md @@ -4,10 +4,10 @@ This file lists all the steps to follow when releasing a new version of ODS Andr - [Prepare release](#prepare-release) - [Release](#release) - * [Publish release to Maven Central](#publish-release-to-maven-central) - * [Publish release to GitHub](#publish-release-to-github) - * [Build unsigned APK and bundle for Google Play Store](#build-unsigned-apk-and-bundle-for-google-play-store) - * [Announce the new release on FoODS](#announce-the-new-release-on-foods)

+ * [Publish release to Maven Central](#publish-release-to-maven-central) + * [Publish release to GitHub](#publish-release-to-github) + * [Publish release to Google Play Store](#publish-release-to-google-play-store) + * [Announce the new release on GitHub & FoODS](#announce-the-new-release-on-github--foods)

## Prepare release @@ -19,8 +19,8 @@ This file lists all the steps to follow when releasing a new version of ODS Andr ./gradlew prepareRelease -Pversion=X.Y.Z ``` - This task performs the following changes to the project: - + This task performs the following changes to the project: + - Update `version` project property in `gradle.properties`. - Update version of ODS Android dependencies in various Markdown files. - Update the changelog. @@ -29,9 +29,9 @@ This file lists all the steps to follow when releasing a new version of ODS Andr - Verify the changes mentioned above, then commit and push. - Please see [DEVELOP.md](../DEVELOP.md#documentation) to get more information about how to build and verify the documentation. - - Once the Jekyll server is started, the documentation for version X.Y.Z should be available at http://127.0.0.1:4000/ods-android/X.Y.Z/. + Please see [DEVELOP.md](../DEVELOP.md#documentation) to get more information about how to build and verify the documentation. + + Once the Jekyll server is started, the documentation for version X.Y.Z should be available at http://127.0.0.1:4000/ods-android/X.Y.Z/. - Create a new pull request named `Prepare release X.Y.Z` on GitHub to merge your branch into `develop`. @@ -49,7 +49,7 @@ This file lists all the steps to follow when releasing a new version of ODS Andr ./gradlew tagRelease ``` - This task adds an `X.Y.Z` tag and push it to the remote repository.

+ This task adds an `X.Y.Z` tag and push it to the remote repository.

### Publish release to Maven Central @@ -57,19 +57,19 @@ This file lists all the steps to follow when releasing a new version of ODS Andr - Click `Review deployments`, select `maven-central-release` and click `Approve and deploy`. - ![Maven Central release deployment](images/maven_central_release_01.png) + ![Maven Central release deployment](images/maven_central_release_01.png) - Go to [Sonatype Nexus Repository Manager](https://oss.sonatype.org). - Click `Staging Repositories` and verify the content of the ODS Android repository. - ![Sonatype staging repositories](images/maven_central_release_02.png) + ![Sonatype staging repositories](images/maven_central_release_02.png) - Click `Close` if content is OK or `Drop` otherwise. - Retrieve the Sonatype repository ID from either the repository name or URL. - ![Sonatype repository ID](images/maven_central_release_03.png) + ![Sonatype repository ID](images/maven_central_release_03.png) - Launch the `testSonatypeRepository` Gradle task using the ID from the previous step: @@ -77,8 +77,8 @@ This file lists all the steps to follow when releasing a new version of ODS Andr ./gradlew testSonatypeRepository -PsonatypeRepositoryId= ``` - This task allows you to test the release before it is deployed to Maven Central and performs the following changes to the project: - + This task allows you to test the release before it is deployed to Maven Central and performs the following changes to the project: + - Add Sonatype Maven repository. - Remove all Android Studio modules except `app`. - Replace project dependencies with module dependencies in `app`.

@@ -95,11 +95,11 @@ This file lists all the steps to follow when releasing a new version of ODS Andr - Edit the new release draft. - ![Edit GitHub release](images/github_release_01.png) + ![Edit GitHub release](images/github_release_01.png) - Set previous tag and click `Generate release notes` to automatically generate the release notes. - ![Generate GitHub release notes](images/github_release_02.png) + ![Generate GitHub release notes](images/github_release_02.png) - Verify the release notes using the preview tab. @@ -113,34 +113,49 @@ This file lists all the steps to follow when releasing a new version of ODS Andr - Click `Integrations`, find the uploaded bundle in the `Artifacts` sections and click `Create release`. - ![Create OMA Portal release](images/google_play_store_release_01.png) + ![Create OMA Portal release](images/google_play_store_release_01.png) - Progress through the various submission steps. - When step is `Store submissions`, select `Closed beta with Google Groups`, set `Email addresses` to `odsapp@googlegroups.com` and click `Go for store submission`. - ![OMA Portal store submission](images/google_play_store_release_02.png)

+ ![OMA Portal store submission](images/google_play_store_release_02.png)

+ +### Announce the new release on GitHub & FoODS + +- Go to [GitHub ods-android - Discussions > Announcements](https://github.com/Orange-OpenSource/ods-android/discussions/categories/announcements) + +- Click to `New discussion` + +- Set title to `ODS Android library X.Y.Z` + +- Post a message with screenshots of new elements to announce the release + +Here is an example of the v0.15.0 release announcement: + +```markdown +**ODS Android library v0.15.0 is here!** +Be careful, this version includes several APIs change in the library in order to prepare the v1.0 release. + +### New components + +**- List item +**: It allows you to display a Checkbox, a Switch, a RadioButton, an Icon or a Caption text as trailing element. If this does not meet your needs, you can use another signature which accept any Composable as trailing. + +Capture d’écran 2023-09-13 à 15 06 07 + +Capture d’écran 2023-09-13 à 15 06 32 +

+ +**- Toggle text buttons group**: +Capture d’écran 2023-09-13 à 15 03 34 + +--- +🗒️ Please review the [v0.15.0 release note](https://github.com/Orange-OpenSource/ods-android/releases/tag/0.15.0) for a complete list of changes since our previous release. -### Announce the new release on FoODS +📱 You can subscribe to the [Orange Design System Google group](https://groups.google.com/g/odsapp) in order to be able to install the [Demo app](https://play.google.com/apps/testing/com.orange.ods.app). +``` - Go to [Teams - FoODS: ODS Mobile Android](https://teams.microsoft.com/l/channel/19%3a62efff7aca9f4865a841076b4a6c428f%40thread.tacv2/4-ODS%2520Mobile%2520Android?groupId=a9581e9e-6775-46f5-9e4a-3ce57096e6be&tenantId=90c7a20a-f34b-40bf-bc48-b9253b6f5d20) -- Post a message with screenshots of new elements to announce the release. - - As Microsoft Teams does not support pasting Markdown, open the text below in a Markdown editor that produces rich text, copy the rich text and paste it to Microsoft Teams. Finally edit the message to display the emojis and add newlines wherever needed. - - - > (rocket) Release X.Y.Z is available! - > - > **New components** - >- C8 - >- C9 - > - >**New module** - >- M1 - > - >(page) [Release note](https://github.com/Orange-OpenSource/ods-android/releases/tag/X.Y.Z) - > - >(phone) [Demo app](https://play.google.com/apps/testing/com.orange.ods.app) - > - >Note: Please subscribe to the [Orange Design System Google group](https://groups.google.com/g/odsapp) in order to be able to install the demo app. +- Post a message with a link to the previously created GitHub announcement