diff --git a/release-tools/readme.md b/release-tools/readme.md index 0474be1..118cce3 100644 --- a/release-tools/readme.md +++ b/release-tools/readme.md @@ -1,11 +1,15 @@ -1. Infrastructure requirements +## Setup + +### Infrastructure requirements - Pivotal VPN account - User account (for SCP access) on `docs.af.pivotal.io`. Needs to be registered within local `settings.xml` for a server named `static-dot-s2`. - Credentials for `buildmaster` accounts on https://repo.spring.io. - Credentials for https://oss.sonatype.org (to deploy and promote GA and service releases, need deployment permissions for `org.springframework.data`) in `settings.xml` for server with id `sonatype`. -2. Add an `application-local.properties` to the project root and add the following properties: +### Prepare local configuration and credentials + +Add an `application-local.properties` to the project root and add the following properties: - `git.username` - Your GitHub username. - `git.password` - Your GitHub password or API key. @@ -17,19 +21,24 @@ See `application-local.template` for details. -3. Run `mvn package appassembler:assemble && sh target/appassembler/bin/spring-data-release-shell` +### Build and execute the release shell -4. Pre-release checks +Run `mvn package appassembler:assemble && sh target/appassembler/bin/spring-data-release-shell` + +## The release process + +### Pre-release checks Make sure that: +* All work on CVEs potentially contained in the release is done (incl. backports etc.) * Upgrade dependencies in Spring Data Build parent pom (mind minor/major version rules) * All release tickets are present (`$ tracker releasetickets $trainIteration`) * Review open tickets for release * Self-assign release tickets (`$ tracker prepare $trainIteration`) * Announce release preparations to mailing list -5. Commands to execute +### Release the binaries ``` $ release prepare $trainIteration @@ -37,14 +46,19 @@ $ release build $trainIteration $ release conclude $trainIteration $ git push $trainIteration $ git push $trainIteration --tags -$ release distribute $trainIteration $ git backport changelog $trainIteration --target $targets $ foreach $target -> git push $target ``` -6. Post-release tasks +### Distribute documentation and static resources from tags -* Close Jira tickets and GitHub release tickets. +``` +$ release distribute $trainIteration +``` + +### Post-release tasks + +* Close JIRA tickets and GitHub release tickets. * Create release tickets for the next train iteration, archive old release versions. Close Jira versions/GitHub milestones. ```