You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/release_process.md
+34-44Lines changed: 34 additions & 44 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,49 +10,24 @@ Redis OM Spring uses [JReleaser](https://jreleaser.org/) to automate the publica
10
10
11
11
The release process involves these key files:
12
12
13
-
1.`.github/workflows/version-and-release.yml` - GitHub Actions workflow triggered by GitHub releases
14
-
2.`jreleaser.yml` - JReleaser configuration defining how artifacts are published
15
-
3.`scripts/prepare-release.sh` - Helper script to prepare a new release version
13
+
1.`.github/workflows/release.yml` - GitHub Actions workflow triggered by GitHub releases
14
+
2.`jreleaser.yml` - JReleaser configuration defining how artifacts are released and/or published
16
15
17
16
## Release Steps
18
17
19
-
To release a new version:
20
-
21
-
1.**Prepare the release**:
22
-
```bash
23
-
./scripts/prepare-release.sh <version>
24
-
```
25
-
This script sets the version in all POM files.
26
-
27
-
2.**Verify and test**:
28
-
```bash
29
-
mvn clean verify
30
-
```
31
-
Ensure all tests pass.
32
-
33
-
3.**Commit version changes**:
34
-
```bash
35
-
git commit -a -m "chore: prepare release v<version>"
36
-
git push
37
-
```
38
-
39
-
4.**Create a GitHub Release**:
40
-
- Go to GitHub and create a new release
41
-
- Set the tag to `v<version>` (e.g., `v0.6.0`)
42
-
- Provide release notes
43
-
- Publish the release
44
-
45
-
5.**Workflow Execution**:
46
-
- When the release is published, the GitHub workflow will:
47
-
- Check out the repository
48
-
- Set the version from the release tag
49
-
- Build the artifacts with the publication profile
50
-
- Stage the artifacts for publication (excluding the parent POM)
51
-
- Use JReleaser to sign and publish the artifacts to Maven Central
52
-
53
-
6.**Monitoring**:
54
-
- Monitor the workflow execution in the "Actions" tab
55
-
- Check the JReleaser output artifact for detailed logs
18
+
To release a new version, go to the GitHub repo *Actions* section and click on the [Release workflow](https://github.com/redis/redis-om-spring/actions/workflows/release.yml).
19
+
20
+
Then click on **Run worflow** and specify the version to release (for example `1.1.0`).
21
+
22
+
Finally, click on *Run workflow*.
23
+
This will start the release process which consists of the following steps:
24
+
25
+
* Update `gradle.properties` with the specified version.
26
+
* Build the project using the Gradle wrapper: `./gradlew build test aggregateTestReport publish`
27
+
* Call the JReleaser action which performs the following tasks:
28
+
* Publish the artifacts to Maven Central
29
+
* Tag the repository with the specified version, generate the changelog using [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/), and create a GitHub release
30
+
* If enabled, announce the release to Slack and other channels
56
31
57
32
## Published Artifacts
58
33
@@ -67,16 +42,31 @@ Each artifact includes:
67
42
- Javadoc JAR
68
43
- POM file
69
44
70
-
The parent POM (`redis-om-spring-parent`) is intentionally excluded from publication by only staging the specific artifacts we want to publish.
71
-
72
45
## Troubleshooting
73
46
74
-
If the release fails:
47
+
### Check the GitHub actions logs
75
48
76
49
1. Check the JReleaser output artifact in the GitHub Actions run
77
50
2. Verify that all required environment secrets are configured:
78
51
-`GIT_ACCESS_TOKEN` and `GIT_USER` - For GitHub access
79
52
-`GPG_PASSPHRASE`, `GPG_PUBLIC_KEY`, and `GPG_SECRET_KEY` - For signing artifacts
80
53
-`SONATYPE_USERNAME` and `SONATYPE_PASSWORD` - For Maven Central access
81
54
3. Review the staging directory output to ensure the correct artifacts are being included
82
-
4. If the release fails due to validation issues, fix them and create a new patch release
55
+
4. If the release fails due to validation issues, fix them and create a new patch release
56
+
57
+
### Run locally
58
+
59
+
To troubleshoot the release process locally, run the Gradle command specified above under *Release Steps* and make sure the proper artifacts are created under `build/staging-deploy`.
60
+
61
+
Then [install JReleaser](https://jreleaser.org/guide/latest/index.html) and set the following environment variables:
62
+
*`JRELEASER_PROJECT_VERSION`: Should match version in `gradle.properties` (e.g. `1.0.1`)
0 commit comments