Skip to content

Commit 6d0d310

Browse files
committed
Release 1.4.1
Packaging fixes: - Fixed dependency declarations so API dependencies are correctly propagated as compile-time dependencies of dependent projects. - Fixed Specification-Version release date in webauthn-server-core jar manifest.
2 parents 248d0b1 + 865c675 commit 6d0d310

File tree

22 files changed

+299
-44
lines changed

22 files changed

+299
-44
lines changed

.github/workflows/master.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
strategy:
1515
matrix:
16-
java: [8, 10, 11, 12]
16+
java: [8, 11]
1717

1818
steps:
1919
- name: Check out code

.github/workflows/release-verify-signatures.yml

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,9 @@ jobs:
1111
runs-on: ubuntu-latest
1212
strategy:
1313
matrix:
14-
java: [10, 11, 12]
14+
java: [11]
1515

1616
steps:
17-
- name: Download signatures
18-
run: |
19-
wget https://github.com/${GITHUB_REPOSITORY}/releases/download/${GITHUB_REF}/webauthn-server-attestation-${GITHUB_REF}.jar.asc
20-
wget https://github.com/${GITHUB_REPOSITORY}/releases/download/${GITHUB_REF}/webauthn-server-core-${GITHUB_REF}.jar.asc
21-
2217
- name: check out code
2318
uses: actions/checkout@v1
2419

@@ -31,9 +26,24 @@ jobs:
3126
run: ./gradlew jar
3227

3328
- name: Fetch keys
34-
run: gpg --recv-keys 57A9DEED4C6D962A923BB691816F3ED99921835E
29+
run: gpg --no-default-keyring --keyring yubico --recv-keys 57A9DEED4C6D962A923BB691816F3ED99921835E
30+
31+
- name: Verify signatures from GitHub release
32+
run: |
33+
export TAGNAME=${GITHUB_REF#refs/tags/}
3534
36-
- name: Verify signatures
35+
wget https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAGNAME}/webauthn-server-attestation-${TAGNAME}.jar.asc
36+
wget https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAGNAME}/webauthn-server-core-${TAGNAME}.jar.asc
37+
38+
gpg --no-default-keyring --keyring yubico --verify webauthn-server-attestation-${TAGNAME}.jar.asc webauthn-server-attestation/build/libs/webauthn-server-attestation-${TAGNAME}.jar
39+
gpg --no-default-keyring --keyring yubico --verify webauthn-server-core-${TAGNAME}.jar.asc webauthn-server-core/build/libs/webauthn-server-core-${TAGNAME}.jar
40+
41+
- name: Verify signatures from Maven Central
3742
run: |
38-
gpg --verify webauthn-server-attestation-${GITHUB_REF}.jar.asc webauthn-server-attestation/build/libs/webauthn-server-attestation-${GITHUB_REF}.jar
39-
gpg --verify webauthn-server-core-${GITHUB_REF}.jar.asc webauthn-server-core/build/libs/webauthn-server-core-${GITHUB_REF}.jar
43+
export TAGNAME=${GITHUB_REF#refs/tags/}
44+
45+
wget -O webauthn-server-core-${TAGNAME}.jar.mavencentral.asc https://repo1.maven.org/maven2/com/yubico/webauthn-server-core/${TAGNAME}/webauthn-server-core-${TAGNAME}.jar.asc
46+
wget -O webauthn-server-attestation-${TAGNAME}.jar.mavencentral.asc https://repo1.maven.org/maven2/com/yubico/webauthn-server-attestation/${TAGNAME}/webauthn-server-attestation-${TAGNAME}.jar.asc
47+
48+
gpg --no-default-keyring --keyring yubico --verify webauthn-server-attestation-${TAGNAME}.jar.mavencentral.asc webauthn-server-attestation/build/libs/webauthn-server-attestation-${TAGNAME}.jar
49+
gpg --no-default-keyring --keyring yubico --verify webauthn-server-core-${TAGNAME}.jar.mavencentral.asc webauthn-server-core/build/libs/webauthn-server-core-${TAGNAME}.jar

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
runs-on: ubuntu-latest
2222
strategy:
2323
matrix:
24-
java: [8, 10, 11, 12]
24+
java: [8, 11]
2525

2626
steps:
2727
- name: Check out code

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,4 @@ target/
1919

2020
# Gradle
2121
.gradle/
22-
/build/
23-
/*/build/
22+
build/

.travis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ branches:
77
jdk:
88
- oraclejdk11
99
- openjdk8
10-
- openjdk10
1110
- openjdk11
1211

1312
script:

NEWS

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
== Version 1.4.1 ==
2+
3+
Packaging fixes:
4+
5+
* Fixed dependency declarations so API dependencies are correctly propagated as
6+
compile-time dependencies of dependent projects.
7+
* Fixed Specification-Version release date in webauthn-server-core jar manifest.
8+
9+
110
== Version 1.4.0 ==
211

312
Changes:

build.gradle

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ buildscript {
77
}
88
}
99
plugins {
10-
id 'com.github.kt3k.coveralls' version '2.8.2'
10+
id 'com.github.kt3k.coveralls' version '2.8.4'
1111
id 'io.codearte.nexus-staging' version '0.9.0'
12-
id 'io.franzbecker.gradle-lombok' version '1.14'
12+
id 'io.franzbecker.gradle-lombok' version '3.1.0'
1313
}
1414

1515
import io.franzbecker.gradle.lombok.LombokPlugin
@@ -34,14 +34,14 @@ wrapper {
3434
}
3535

3636
allprojects {
37+
ext.snapshotSuffix = "<count>.g<sha>-SNAPSHOT<dirty>"
38+
ext.dirtyMarker = "-DIRTY"
39+
3740
apply plugin: 'com.cinnober.gradle.semver-git'
3841
apply plugin: 'idea'
3942

4043
group = 'com.yubico'
4144

42-
ext.snapshotSuffix = "<count>.g<sha>-SNAPSHOT<dirty>"
43-
ext.dirtyMarker = "-DIRTY"
44-
4545
idea.module {
4646
downloadJavadoc = true
4747
downloadSources = true
@@ -63,7 +63,9 @@ subprojects {
6363
}
6464
}
6565

66-
evaluationDependsOnChildren()
66+
allprojects {
67+
evaluationDependsOnChildren()
68+
}
6769

6870
task assembleJavadoc(type: Sync) {
6971
from("docs/index.html") {
@@ -88,6 +90,10 @@ subprojects { project ->
8890
reproducibleFileOrder = true
8991
}
9092

93+
tasks.withType(Sign) {
94+
it.dependsOn check
95+
}
96+
9197
test {
9298
testLogging {
9399
showStandardStreams = isCiBuild

doc/releasing.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
Release procedure
2+
====================
3+
4+
Release candidate versions
5+
---
6+
7+
1. Make sure release notes in `NEWS` are up to date.
8+
9+
2. Run the tests one more time:
10+
11+
```
12+
$ ./gradlew clean check
13+
```
14+
15+
3. Tag the head commit with an `X.Y.Z-RCN` tag:
16+
17+
```
18+
$ git tag -a -s 1.4.0-RC1 -m "Pre-release 1.4.0-RC1"
19+
```
20+
21+
No tag body needed.
22+
23+
4. Publish to Sonatype Nexus:
24+
25+
```
26+
$ ./gradlew publish closeAndReleaseRepository
27+
```
28+
29+
5. Push to GitHub:
30+
31+
```
32+
$ git push origin master 1.4.0-RC1
33+
```
34+
35+
6. Make GitHub release.
36+
37+
- Use the new tag as the release tag
38+
- Check the pre-release checkbox
39+
- Copy the release notes from `NEWS` into the GitHub release notes; reformat
40+
from ASCIIdoc to Markdown and remove line wraps. Include only
41+
changes/additions since the previous release or pre-release.
42+
- Attach the signature files from
43+
`webauthn-server-attestation/build/libs/webauthn-server-attestation-X.Y.Z-RCN.jar.asc`
44+
and
45+
`webauthn-server-core/build/libs/webauthn-server-core-X.Y.Z-RCN.jar.asc`.
46+
- Note which JDK version was used to build the artifacts.
47+
48+
49+
Release versions
50+
---
51+
52+
1. Make sure release notes in `NEWS` are up to date.
53+
54+
2. Make a no-fast-forward merge from the last (non release candidate) release
55+
to the commit to be released:
56+
57+
```
58+
$ git checkout 1.3.0
59+
$ git checkout -b release-1.4.0
60+
$ git merge --no-ff master
61+
```
62+
63+
Copy the release notes for this version from `NEWS` into the merge commit
64+
message; reformat it from ASCIIdoc to Markdown and re-wrap line widths at
65+
the conventional 72 columns (see
66+
[this](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
67+
and [this](https://chris.beams.io/posts/git-commit/)). See previous release
68+
commits for examples.
69+
70+
```
71+
$ git checkout master
72+
$ git merge --ff-only release-1.4.0
73+
$ git branch -d release-1.4.0
74+
```
75+
76+
3. Remove the "(unreleased)" tag from `NEWS`.
77+
78+
4. Amend this change into the merge commit:
79+
80+
```
81+
$ git add NEWS
82+
$ git commit --amend --reset-author
83+
```
84+
85+
5. Run the tests one more time:
86+
87+
```
88+
$ ./gradlew clean check
89+
```
90+
91+
6. Tag the merge commit with an `X.Y.Z` tag:
92+
93+
```
94+
$ git tag -a -s 1.4.0 -m "Release 1.4.0"
95+
```
96+
97+
No tag body needed since that's included in the commit.
98+
99+
7. Publish to Sonatype Nexus:
100+
101+
```
102+
$ ./gradlew publish closeAndReleaseRepository
103+
```
104+
105+
8. Push to GitHub:
106+
107+
```
108+
$ git push origin master 1.4.0
109+
```
110+
111+
9. Make GitHub release.
112+
113+
- Use the new tag as the release tag
114+
- Copy the release notes from `NEWS` into the GitHub release notes; reformat
115+
from ASCIIdoc to Markdown and remove line wraps. Include all changes since
116+
the previous release (not just changes since the previous pre-release).
117+
- Attach the signature files from
118+
`webauthn-server-attestation/build/libs/webauthn-server-attestation-X.Y.Z.jar.asc`
119+
and `webauthn-server-core/build/libs/webauthn-server-core-X.Y.Z.jar.asc`.
120+
- Note which JDK version was used to build the artifacts.

settings.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ include ':webauthn-server-core'
44
include ':webauthn-server-demo'
55
include ':yubico-util'
66
include ':yubico-util-scala'
7+
8+
include ':test-dependent-projects:java-dep-webauthn-server-attestation'
9+
include ':test-dependent-projects:java-dep-webauthn-server-core'
10+
include ':test-dependent-projects:java-dep-yubico-util'
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
plugins {
2+
// This is needed because the root project needs the sourceCompatibility property to exist.
3+
`java-library`
4+
}

0 commit comments

Comments
 (0)