Skip to content

Commit beba842

Browse files
committed
Document release process for 2021.2.x branch
Issue gh-203
1 parent 2702e4b commit beba842

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed

RELEASE.adoc

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
== 1. Update Dependencies
2+
3+
Dependencies are declared in `gradle/dependency-management.gradle`.
4+
Update the `coreVersion` to the corresponding version of `spring-session-core` and `dataGeodeVersion` to the corresponding version of `spring-session-data-geode`.
5+
6+
Run all the checks:
7+
8+
[source,bash]
9+
----
10+
$ ./gradlew check
11+
----
12+
13+
Create separate issues for each dependency update and push the changes.
14+
15+
== 2. Run the test project
16+
17+
Ensure that the most recent SNAPSHOT is working, by testing it in a sample project, for example https://github.com/eleftherias/session-bom-sample.
18+
19+
== 3. Check All Issues are Closed
20+
21+
You can manually check at https://github.com/spring-projects/spring-session/milestones
22+
23+
== 4. Update Release Version
24+
25+
Update the version number in `gradle.properties` for the release, for example `2021.2.0-RC1`, `2021.1.0`.
26+
27+
== 5. Build Locally
28+
29+
Run the build using
30+
31+
[source,bash]
32+
----
33+
$ ./gradlew check
34+
----
35+
36+
== 6. Push the Release Commit
37+
38+
Push the commit and Jenkins will build and deploy the artifacts.
39+
Wait for the artifact to appear in https://repo1.maven.org/maven2/org/springframework/session/spring-session-bom/
40+
41+
== 7. Tag the release
42+
43+
Tag the release and then push the tag
44+
45+
....
46+
git tag 2021.2.0-RC1
47+
git push origin 2021.2.0-RC1
48+
....
49+
50+
== 8. Update to Next Development Version
51+
52+
Update `gradle.properties` version to next `+SNAPSHOT+` version, update the dependencies in `dependency-management.gradle` to the next `+SNAPSHOT+` versions and then push.
53+
54+
== 9. Update version on project pages
55+
56+
Update the versions on https://spring.io/projects for Spring Session.
57+
The reference documentation should point to the Spring Session Core reference documentation.
58+
59+
== 10. Update Release Notes on GitHub
60+
61+
This step should be skipped for patch releases (e.g 2.7.1). It only applies to pre-releases and GA releases.
62+
63+
Create a new release notes section in the https://github.com/spring-projects/spring-session-bom/wiki[Wiki].
64+
Describe any breaking changes, and noteworthy enhancements.
65+
66+
== 11. Close / Create Milestone
67+
68+
* In
69+
https://github.com/spring-projects/spring-session/milestones[GitHub
70+
Milestones], create a new milestone for the next release version.
71+
* Move any open issues from the existing milestone you just released to
72+
the new milestone.
73+
* Close the milestone for the release.
74+
75+
Note: Spring Session typically releases only one milestone (M1) and one release candidate (RC1).
76+
77+
== 12. Announce the release
78+
79+
* Announce via Slack on
80+
https://pivotal.slack.com/messages/spring-release[#spring-release],
81+
including the keyword `+spring-session-announcing+` in the message.
82+
Something like:
83+
84+
....
85+
spring-session-announcing 2022.0.0 is available.
86+
....
87+
88+
== 13. Create a blog post
89+
90+
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].

0 commit comments

Comments
 (0)