spring-session/RELEASE.adoc
Marcus Hert Da Coregio ed5f40d330 Update RELEASE.adoc
Issue gh-2648
2023-11-21 09:45:46 -03:00

95 lines
2.6 KiB
Plaintext

== 1. Update Dependencies
Dependencies are declared in `gradle/libs.versions.toml`.
They are updated by Dependabot, make sure that there is no Dependabot PR open, the versions are correct and that the build passes.
Run all the checks:
[source,bash]
----
$ ./gradlew check
----
== 2. Check All Issues are Closed
You can manually check at https://github.com/spring-projects/spring-session/milestones
== 3. Update Release Version
Update the version number in `gradle.properties` for the release, for example `3.0.0-M1`, `3.0.0-RC1`, `3.0.4`
== 4. Build Locally
Run the build using
[source,bash]
----
$ ./gradlew check
----
== 5. Push the Release Commit
Push the commit and GitHub actions will build and deploy the artifacts.
Wait for the artifact to appear in https://repo1.maven.org/maven2/org/springframework/session/spring-session-core/
== 6. Tag the release
Tag the release and then push the tag
....
git tag 3.0.0-RC1
git push origin 3.0.0-RC1
....
== 7. Update to Next Development Version
Update `gradle.properties` version to next `+SNAPSHOT+` version.
== 8. Update version on project pages
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.
== 9. Update Release Notes on GitHub
Download
https://github.com/spring-io/github-changelog-generator/releases/latest[the GitHub release notes generator]
* Generate the release notes
....
java -jar github-changelog-generator.jar \
--changelog.repository=spring-projects/spring-session \
$MILESTONE release-notes
....
Note 1: `+$MILESTONE+` is something like `+3.0.4+` or `+3.0.0-M1+`. +
Note 2: This will create a file on your filesystem
called `+release-notes+`.
* Copy the release notes to your clipboard (your mileage may vary with
the following command)
....
cat release-notes | xclip -selection clipboard
....
* Create the
https://github.com/spring-projects/spring-session/releases[release on GitHub], associate it with the tag, and paste the generated notes.
== 10. 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).
== 11. Announce the release
* Announce via Slack on `#spring-release`, including the keyword `+spring-session-announcing+` in the message.
Something like:
....
spring-session-announcing 3.2.0 is available.
....