Skip to content

Commit fba9313

Browse files
committed
Document release process for 2.6.x
Issue gh-2036
1 parent c228861 commit fba9313

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed

RELEASE.adoc

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
== 1. Update Dependencies
2+
3+
Dependencies are declared in `gradle/dependency-management.gradle`.
4+
Update Spring Framework, Spring Security and Spring Data at a minimum.
5+
6+
Run all the checks:
7+
8+
[source,bash]
9+
----
10+
$ ./gradlew check
11+
----
12+
13+
Create separate issues for each dependency update, aside from test dependencies which can be combined into a single commit.
14+
15+
== 2. Check All Issues are Closed
16+
17+
You can manually check at https://github.com/spring-projects/spring-session/milestones
18+
19+
== 3. Update Release Version
20+
21+
Update the version number in `gradle.properties` for the release, for example `2.6.0-M1`, `2.6.0-RC1`, `2.6.3`
22+
23+
== 4. Update Antora Version
24+
25+
You will need to update the antora.yml version.
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 GitHub actions will build and deploy the artifacts.
39+
Wait for the artifact to appear in https://repo1.maven.org/maven2/org/springframework/session/spring-session-core/
40+
41+
== 7. Tag the release
42+
43+
Tag the release and then push the tag
44+
45+
....
46+
git tag 2.6.3
47+
git push origin 2.6.3
48+
....
49+
50+
== 8. Update to Next Development Version
51+
52+
Update `gradle.properties` version to next `+SNAPSHOT+` version, update antora.yml and then push
53+
54+
== 9. Update version on project pages
55+
56+
Update the versions on https://spring.io/projects for Spring Session Core, Spring Session Data Redis, Spring Session JDBC, Spring Session Hazelcast, and Spring Session MongoDB.
57+
58+
== 10. Update Release Notes on GitHub
59+
60+
Download
61+
https://github.com/spring-io/github-changelog-generator/releases/latest[the
62+
GitHub release notes generator]
63+
64+
* Generate the release notes
65+
66+
....
67+
java -jar github-changelog-generator.jar \
68+
--changelog.repository=spring-projects/spring-session \
69+
$MILESTONE release-notes
70+
....
71+
72+
Note 1: `+$MILESTONE+` is something like `+2.6.1+` or `+2.6.0-M1+`. +
73+
Note 2: This will create a file on your filesystem
74+
called `+release-notes+`.
75+
76+
* Copy the release notes to your clipboard (your mileage may vary with
77+
the following command)
78+
79+
....
80+
cat release-notes | xclip -selection clipboard
81+
....
82+
83+
* Create the
84+
https://github.com/spring-projects/spring-session/releases[release on
85+
GitHub], associate it with the tag, and paste the generated notes.
86+
87+
== 11. Close / Create Milestone
88+
89+
* In
90+
https://github.com/spring-projects/spring-session/milestones[GitHub
91+
Milestones], create a new milestone for the next release version
92+
* Move any open issues from the existing milestone you just released to
93+
the new milestone.
94+
* Close the milestone for the release.
95+
96+
== 12. Announce the release
97+
98+
* Announce via Slack on https://pivotal.slack.com/messages/spring-session[#spring-session], and tag any downstream Spring Session projects (e.g Spring Session for Apache Geode).
99+
100+
Note: Do not post on #spring-release or create a blog post. Those steps happen after the Spring Session BOM is released.
101+

0 commit comments

Comments
 (0)