@@ -15,14 +15,15 @@ Release candidate versions
15
15
Gradle build script. Conversely, remove or downgrade to ` implementation ` any
16
16
dependencies no longer exposed in the public API.
17
17
18
+ Add ` @since ` tags to the JavaDoc for new features.
19
+
18
20
3 . Run the tests one more time:
19
21
20
22
```
21
23
$ ./gradlew clean check
22
24
```
23
25
24
- 4. Update the Java version in the [`release-verify-signatures`
25
- workflow](https://github.com/Yubico/java-webauthn-server/blob/main/.github/workflows/release-verify-signatures.yml#L42).
26
+ 4. Update the Java version in the [`release-verify-signatures` workflow][workflow-release-src].
26
27
27
28
See the `openjdk version` line of output from `java -version`:
28
29
@@ -44,39 +45,55 @@ Release candidate versions
44
45
Check that this version is available in GitHub Actions. Commit this change,
45
46
if any.
46
47
47
- 5. Tag the head commit with an `X.Y.Z-RCN` tag:
48
+ 5. Push the branch to GitHub.
49
+
50
+ If the pre-release makes significant changes to the project README, such
51
+ that the README does not accurately reflect the latest non-pre-release
52
+ version, push the changes on a separate release branch:
48
53
49
54
```
50
- $ git tag -a -s 1.4.0-RC1 -m "Pre-release 1.4.0-RC1"
55
+ $ git checkout -b release-1.4.0
56
+ $ git push origin release-1.4.0
51
57
```
52
58
53
- No tag body needed.
59
+ If the README still accurately reflects the latest non-pre-release version,
60
+ you can simply push to main instead:
54
61
55
- 6. Publish to Sonatype Nexus:
62
+ ```
63
+ $ git push origin main
64
+ ```
65
+
66
+ 6. Wait for the ["build" workflow][workflow-build] to finish.
67
+ Download the `artifact-checksums-java17-temurin` artifact,
68
+ unpack it and verify that the artifact checksums match artifacts built locally:
56
69
57
70
```
58
- $ ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
71
+ $ unzip artifact-checksums-java17-temurin.zip
72
+ $ VERSION=0.1.0-SNAPSHOT ./gradlew primaryPublishJar
73
+ $ sha256sum -c java-webauthn-server-artifacts.sha256sum
59
74
```
60
75
61
- 7. Push to GitHub.
76
+ 7. Tag the head commit with an `X.Y.Z-RCN` tag:
62
77
63
- If the pre-release makes significant changes to the project README, such
64
- that the README does not accurately reflect the latest non-pre-release
65
- version, push the changes on a separate release branch:
78
+ ```
79
+ $ git tag -a -s 1.4.0-RC1 -m "Pre-release 1.4.0-RC1"
80
+ ```
81
+
82
+ No tag body needed.
83
+
84
+ 8. Publish to Sonatype Nexus:
66
85
67
86
```
68
- $ git checkout -b release-1.4.0
69
- $ git push origin release-1.4.0 1.4.0-RC1
87
+ $ ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
70
88
```
71
89
72
- If the README still accurately reflects the latest non-pre-release version,
73
- you can simply push to main instead:
90
+ 9. Push the tag to GitHub:
74
91
75
92
```
76
- $ git push origin main 1.4.0-RC1
93
+ $ git push origin 1.4.0-RC1
77
94
```
78
95
79
- 8 . Make GitHub release.
96
+ 10 . Make GitHub release.
80
97
81
98
- Use the new tag as the release tag.
82
99
- Check the pre-release checkbox.
@@ -86,9 +103,7 @@ Release candidate versions
86
103
- Note the JDK version shown by `java -version` in step 3.
87
104
For example: `openjdk version "17.0.7" 2023-04-18`.
88
105
89
- 9. Check that the ["Reproducible binary"
90
- workflow](https://github.com/Yubico/java-webauthn-server/actions/workflows/release-verify-signatures.yml)
91
- runs and succeeds.
106
+ 11. Check that the ["Reproducible binary" workflow][workflow-release] runs and succeeds.
92
107
93
108
94
109
Release versions
@@ -105,6 +120,8 @@ Release versions
105
120
Gradle build script. Conversely, remove or downgrade to `implementation` any
106
121
dependencies no longer exposed in the public API.
107
122
123
+ Add `@since` tags to the JavaDoc for new features.
124
+
108
125
3. Make a no-fast-forward merge from the last (non release candidate) release
109
126
to the commit to be released:
110
127
@@ -133,8 +150,7 @@ Release versions
133
150
134
151
6. Update the version in JavaDoc links in the READMEs.
135
152
136
- 7. Update the Java version in the [`release-verify-signatures`
137
- workflow](https://github.com/Yubico/java-webauthn-server/blob/main/.github/workflows/release-verify-signatures.yml#L42).
153
+ 7. Update the Java version in the [`release-verify-signatures` workflow][workflow-release-src].
138
154
139
155
See the `openjdk version` line of output from `java -version`:
140
156
@@ -168,27 +184,43 @@ Release versions
168
184
$ ./gradlew clean check
169
185
```
170
186
171
- 10. Tag the merge commit with an `X.Y.Z` tag:
187
+ 10. Push the branch to GitHub:
188
+
189
+ ```
190
+ $ git push origin main
191
+ ```
192
+
193
+ 11. Wait for the ["build" workflow][workflow-build] to finish.
194
+ Download the `artifact-checksums-java17-temurin` artifact,
195
+ unpack it and verify that the artifact checksums match artifacts built locally:
196
+
197
+ ```
198
+ $ unzip artifact-checksums-java17-temurin.zip
199
+ $ VERSION=0.1.0-SNAPSHOT ./gradlew primaryPublishJar
200
+ $ sha256sum -c java-webauthn-server-artifacts.sha256sum
201
+ ```
202
+
203
+ 12. Tag the merge commit with an `X.Y.Z` tag:
172
204
173
205
```
174
206
$ git tag -a -s 1.4.0 -m "Release 1.4.0"
175
207
```
176
208
177
209
No tag body needed since that's included in the commit.
178
210
179
- 11 . Publish to Sonatype Nexus:
211
+ 12 . Publish to Sonatype Nexus:
180
212
181
213
```
182
214
$ ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
183
215
```
184
216
185
- 12 . Push to GitHub:
217
+ 13 . Push the tag to GitHub:
186
218
187
219
```
188
- $ git push origin main 1.4.0
220
+ $ git push origin 1.4.0
189
221
```
190
222
191
- 13 . Make GitHub release.
223
+ 14 . Make GitHub release.
192
224
193
225
- Use the new tag as the release tag.
194
226
- Copy the release notes from `NEWS` into the GitHub release notes; reformat
@@ -197,6 +229,9 @@ Release versions
197
229
- Note the JDK version shown by `java -version` in step 6.
198
230
For example: `openjdk version "17.0.7" 2023-04-18`.
199
231
200
- 14. Check that the ["Reproducible binary"
201
- workflow](https://github.com/Yubico/java-webauthn-server/actions/workflows/release-verify-signatures.yml)
202
- runs and succeeds.
232
+ 15. Check that the ["Reproducible binary" workflow][workflow-release] runs and succeeds.
233
+
234
+
235
+ [workflow-build]: https://github.com/Yubico/java-webauthn-server/actions/workflows/build.yml
236
+ [workflow-release]: https://github.com/Yubico/java-webauthn-server/actions/workflows/release-verify-signatures.yml
237
+ [workflow-release-src]: https://github.com/Yubico/java-webauthn-server/blob/main/.github/workflows/release-verify-signatures.yml#L42
0 commit comments