Introduced Iteration.isPreview() to allow finding out whether the current iteration produces either a milestone or release candidate.
- Infrastructure requirements
- Pivotal VPN account
- User account (for SCP access) on
docs.af.pivotal.io. Needs to be registered within localsettings.xmlfor a server namedstatic-dot-s2. - Credentials for
buildmasteraccounts 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) insettings.xmlfor server with idsonatype.
- Add an
application-local.propertiesto the project root and add the following properties:
git.username- Your GitHub username.git.password- Your GitHub password or API key.git.author- Your full name (used for preparing commits).git.email- Your email (used for preparing commits).maven.mavenHome- Pointing to the location of your Maven installation.deployment.api-key- The API key to use for artifact promotion.deployment.password- The password of the deployment user (buildmaster).
-
Run
mvn package appassembler:assemble && sh target/appassembler/bin/spring-data-release-shell -
Pre-release checks
Make sure that:
- Upgrade dependencies in Spring Data Build parent pom (mind minor/major version rules)
- All release tickets are present (
$ tracker releasetickets) - Review open tickets for release
- Self-assign release tickets
- Announce release preparations to mailing list
- Commands to execute
$ release prepare $trainIteration
$ 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
- Post-release tasks
- Create release tickets for next release
$ tracker create releaseversionsand$ tracker create releasetickets - Announce release (Blog, Twitter) and notify downstream dependency projects as needed