Document release process for 2022.0.x branch
Issue gh-203
This commit is contained in:
90
RELEASE.adoc
Normal file
90
RELEASE.adoc
Normal file
@@ -0,0 +1,90 @@
|
||||
== 1. Update Dependencies
|
||||
|
||||
Dependencies are declared in `gradle/dependency-management.gradle`.
|
||||
Update the `coreVersion` to the corresponding version of `spring-session-core` and `dataGeodeVersion` to the corresponding version of `spring-session-data-geode`.
|
||||
|
||||
Run all the checks:
|
||||
|
||||
[source,bash]
|
||||
----
|
||||
$ ./gradlew check
|
||||
----
|
||||
|
||||
Create separate issues for each dependency update and push the changes.
|
||||
|
||||
== 2. Run the test project
|
||||
|
||||
Ensure that the most recent SNAPSHOT is working, by testing it in a sample project, for example https://github.com/eleftherias/session-bom-sample.
|
||||
|
||||
== 3. Check All Issues are Closed
|
||||
|
||||
You can manually check at https://github.com/spring-projects/spring-session/milestones
|
||||
|
||||
== 4. Update Release Version
|
||||
|
||||
Update the version number in `gradle.properties` for the release, for example `2021.2.0-RC1`, `2021.1.0`.
|
||||
|
||||
== 5. Build Locally
|
||||
|
||||
Run the build using
|
||||
|
||||
[source,bash]
|
||||
----
|
||||
$ ./gradlew check
|
||||
----
|
||||
|
||||
== 6. Push the Release Commit
|
||||
|
||||
Push the commit and Jenkins will build and deploy the artifacts.
|
||||
Wait for the artifact to appear in https://repo1.maven.org/maven2/org/springframework/session/spring-session-bom/
|
||||
|
||||
== 7. Tag the release
|
||||
|
||||
Tag the release and then push the tag
|
||||
|
||||
....
|
||||
git tag 2021.2.0-RC1
|
||||
git push origin 2021.2.0-RC1
|
||||
....
|
||||
|
||||
== 8. Update to Next Development Version
|
||||
|
||||
Update `gradle.properties` version to next `+SNAPSHOT+` version, update the dependencies in `dependency-management.gradle` to the next `+SNAPSHOT+` versions and then push.
|
||||
|
||||
== 9. Update version on project pages
|
||||
|
||||
Update the versions on https://spring.io/projects for Spring Session.
|
||||
The reference documentation should point to the Spring Session Core reference documentation.
|
||||
|
||||
== 10. Update Release Notes on GitHub
|
||||
|
||||
This step should be skipped for patch releases (e.g 2.7.1). It only applies to pre-releases and GA releases.
|
||||
|
||||
Create a new release notes section in the https://github.com/spring-projects/spring-session-bom/wiki[Wiki].
|
||||
Describe any breaking changes, and noteworthy enhancements.
|
||||
|
||||
== 11. Close / Create Milestone
|
||||
|
||||
* In
|
||||
https://github.com/spring-projects/spring-session/milestones[GitHub
|
||||
Milestones], create a new milestone for the next release version.
|
||||
* Move any open issues from the existing milestone you just released to
|
||||
the new milestone.
|
||||
* Close the milestone for the release.
|
||||
|
||||
Note: Spring Session typically releases only one milestone (M1) and one release candidate (RC1).
|
||||
|
||||
== 12. Announce the release
|
||||
|
||||
* Announce via Slack on
|
||||
https://pivotal.slack.com/messages/spring-release[#spring-release],
|
||||
including the keyword `+spring-session-announcing+` in the message.
|
||||
Something like:
|
||||
|
||||
....
|
||||
spring-session-announcing 2022.0.0 is available.
|
||||
....
|
||||
|
||||
== 13. Create a blog post
|
||||
|
||||
Create a https://spring.io/admin/blog[blog post], you can find an example https://spring.io/blog/2022/02/23/spring-session-2021-0-5-and-2021-1-2-released[here].
|
||||
Reference in New Issue
Block a user