Updated Release process for v5 (markdown)

Mahmoud Ben Hassine 2023-12-13 14:37:03 +01:00
parent 41f65550f6
commit 54a9624eb8

@ -4,25 +4,22 @@
### Part 1: Prepare the release ### Part 1: Prepare the release
1.1 In the branch to release (`5.0.x`, `5.1.x`, etc), update the main `pom.xml` with release versions of Spring snapshot dependencies and upgrade other dependencies if needed. Here is an example: [d594be1d](https://github.com/spring-projects/spring-batch/commit/d594be1d8725c07e5c9d7f8a54bf2a6040ba71d9). Make sure dependencies versions align with [those](https://github.com/spring-projects/spring-boot/blob/3.0.x/spring-boot-project/spring-boot-dependencies/build.gradle) used by the Spring Boot version that will consume the current release. 1. In the branch to release (`5.0.x`, `5.1.x`, etc), update the main `pom.xml` with release versions of Spring snapshot dependencies and upgrade other dependencies if needed. Here is an example: [d594be1d](https://github.com/spring-projects/spring-batch/commit/d594be1d8725c07e5c9d7f8a54bf2a6040ba71d9). Make sure dependencies versions align with [those](https://github.com/spring-projects/spring-boot/blob/3.0.x/spring-boot-project/spring-boot-dependencies/build.gradle) used by the Spring Boot version that will consume the current release.
1.2 Run a full build with `./mvnw clean verify` 2. Run a full build with `./mvnw clean verify`
1.3 Commit and push the changes in `pom.xml` with a message like: `Prepare release 5.0.5` 3. Commit and push the changes in `pom.xml` with a message like: `Prepare release 5.0.5`
### Part 2: Stage release on Artifactory ### Part 2: Stage release on Artifactory
2.1 Go to Github Actions: https://github.com/spring-projects/spring-batch/actions. 1. Go to Github Actions: https://github.com/spring-projects/spring-batch/actions.
2. Run the "Artifactory Staging" workflow **from the branch to release** ❗and provide the version to release.
2.2 Run the "Artifactory Staging" workflow **from the branch to release** ❗and provide the version to release. 3. Do a smoke test with the staged jars in http://repo.spring.io/libs-staging-local/org/springframework/batch. check the integrity of the artifacts to see if jars are not corrupted or empty, etc.
2.3 Do a smoke test with the staged jars in http://repo.spring.io/libs-staging-local/org/springframework/batch. check the integrity of the artifacts to see if jars are not corrupted or empty, etc.
❗ Heads-up: The "Artifactory Staging" workflow is designed to be idempotent (it has no git side effects). If something is wrong with the staged release, the same workflow can be re-run with the same version and a new release will override the corrupted one on the staging repository.❗ ❗ Heads-up: The "Artifactory Staging" workflow is designed to be idempotent (it has no git side effects). If something is wrong with the staged release, the same workflow can be re-run with the same version and a new release will override the corrupted one on the staging repository.❗
### Part 3: Promote release to Maven Central ### Part 3: Promote release to Maven Central
3.1 Go to Github Actions: https://github.com/spring-projects/spring-batch/actions. 1. Go to Github Actions: https://github.com/spring-projects/spring-batch/actions.
2. Run the "Maven Central Release" workflow **from the branch to release** ❗ and provide the version to release. This will download the artifacts from the Artifactory staging repository, sign them with GPG and upload them to Maven Central.
3.2 Run the "Maven Central Release" workflow **from the branch to release** ❗ and provide the version to release. This will download the artifacts from the Artifactory staging repository, sign them with GPG and upload them to Maven Central.
### Part 4: Tag the release ### Part 4: Tag the release