Updated Release Process (markdown)

Josh Cummings 2019-08-06 09:34:04 -06:00
parent bf62659e5d
commit 0e88b16dd2

@ -8,13 +8,14 @@
1. Update dependencies 1. Update dependencies
2. Update release version 2. Update release version
3. Push the release commit 3. Build Locally
4. Announce the release on Slack 4. Push the release commit
5. Tag the release 5. Announce the release on Slack
6. Update to next development version 6. Tag the release
7. Update version on project page 7. Update to next development version
8. Close / Create Milestone 8. Update version on project page
9. Announce the release on other channels 9. Close / Create Milestone
10. Announce the release on other channels
### Detailed Steps ### Detailed Steps
@ -22,44 +23,53 @@
- Dependencies are declared in `gradle/dependency-management.gradle` - Dependencies are declared in `gradle/dependency-management.gradle`
- Update Spring Framework and Spring Data at a minimum - Update Spring Framework and Spring Data at a minimum
- Then find dependencies that need updating by running the following commands: - Then find dependencies that need updating by running the `update-dependencies.sh` script:
- `./gradlew dependencyUpdates -Drevision=release` ```bash
- `find . -name report.txt | xargs cat > dep-updates.txt` ./scripts/update-dependencies.sh
- `cat dep-updates.txt | fgrep ' ->' | sort | uniq` ```
#### 2. Update release version #### 2. Update release version
- Update the version number in `gradle.properties` for the release, for example, `5.1.0.M1`, `5.1.0.RC1`, `5.1.0.RELEASE` - Update the version number in `gradle.properties` for the release, for example, `5.1.0.M1`, `5.1.0.RC1`, `5.1.0.RELEASE`
#### 3. Push the release commit #### 3. Build Locally
- Run the build locally with:
```bash
./gradlew check
```
#### 4. Push the release commit
- Push the release commit and [Jenkins](https://jenkins.spring.io/job/spring-security/) will build and deploy the artifacts - Push the release commit and [Jenkins](https://jenkins.spring.io/job/spring-security/) will build and deploy the artifacts
- If you would like to be notified when the artifacts are deployed to Maven Central, modify the version in the following script and run it: - If you would like to be notified when the artifacts are deployed to Maven Central, modify the version in the following script and run it:
- `until http -h --check-status http://repo1.maven.org/maven2/org/springframework/security/spring-security-core/5.1.5.RELEASE/; do sleep 10; done; say "It is now uploaded";` ```bash
./scripts/release/wait-for-done.sh 5.1.6.RELEASE
```
#### 4. Announce the release on Slack #### 5. Announce the release on Slack
- Announce via Slack on [#spring-security](https://pivotal.slack.com/messages/spring-security) and cc Andy Wilkinson, Gary Russell and Artem Bilan - Announce via Slack on [#spring-security](https://pivotal.slack.com/messages/spring-security) and cc Andy Wilkinson, Gary Russell and Artem Bilan
#### 5. Tag the release #### 6. Tag the release
- Tag the release and then push the tag - Tag the release and then push the tag
#### 6. Update to next development version #### 7. Update to next development version
- Update release version to next `BUILD-SNAPSHOT` version and then push - Update release version to next `BUILD-SNAPSHOT` version and then push
#### 7. Update version on project page #### 8. Update version on project page
- Update release version on [projects.spring.io](https://spring.io/admin/projects/spring-security) - Update release version on [projects.spring.io](https://spring.io/admin/projects/spring-security)
#### 8. Close / Create Milestone #### 9. Close / Create Milestone
- In [GitHub Milestones](https://github.com/spring-projects/spring-security/milestones), - In [GitHub Milestones](https://github.com/spring-projects/spring-security/milestones),
create a new milestone for the next release version and move any open issues create a new milestone for the next release version and move any open issues
from the existing milestone you just released to the new milestone and then close the milestone for the release. from the existing milestone you just released to the new milestone and then close the milestone for the release.
#### 9. Announce the release on other channels #### 10. Announce the release on other channels
- Create a [Blog](https://spring.io/admin/blog) - Create a [Blog](https://spring.io/admin/blog)
- Tweet from [@SpringSecurity](https://twitter.com/springsecurity) - Tweet from [@SpringSecurity](https://twitter.com/springsecurity)