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
ci: Add Maven Central release workflow triggered by version tags
* Add release.yml: on a v* tag (created by maven-release-plugin), set up
the JDK with Central credentials and the GPG signing key, then run
deploy -Prelease to sign and publish to Maven Central. Skip surefire
and the archetype integration tests since release:prepare already ran
them (-DskipTests does not cover archetype.test.skip).
* Extend the jdk-setup composite action with optional server-id,
credential, and GPG inputs so the release job can authenticate and
sign artifacts; existing callers that pass no inputs are unaffected.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DGSbyBPTxsj73xhYpnxcse
Copy file name to clipboardExpand all lines: README.adoc
+17-1Lines changed: 17 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ See the https://jeffjensen.github.io/java-service-archetype/[project site] for t
22
22
23
23
== CI / CD
24
24
25
-
Three GitHub Actions workflows are included.
25
+
Four GitHub Actions workflows are included.
26
26
27
27
=== Build any branch (`build-any-branch.yml`)
28
28
@@ -45,6 +45,22 @@ Required repository secrets:
45
45
|`CENTRAL_TOKEN` |Maven Central portal token
46
46
|===
47
47
48
+
=== Release (`release.yml`)
49
+
50
+
Triggered when `maven-release-plugin` pushes a `v*` tag.
51
+
Runs in a `release` environment and deploys a GPG-signed release to Maven Central via `./mvnw deploy -Prelease`.
52
+
See the https://jeffjensen.github.io/java-service-archetype/releasing.html[Releasing] guide for the full procedure and one-time setup.
53
+
54
+
Required repository secrets, in addition to `CENTRAL_USERNAME` and `CENTRAL_TOKEN` above:
55
+
56
+
[cols="1,2"]
57
+
|===
58
+
|Secret |Description
59
+
60
+
|`GPG_PRIVATE_KEY` |ASCII-armored GPG private key for artifact signing
61
+
|`GPG_PASSPHRASE` |Passphrase for the signing key
62
+
|===
63
+
48
64
=== Publish site (`publish-docs.yml`)
49
65
50
66
Triggered in three ways: when the build workflow succeeds on `main`; on any direct push to `main` that touches doc files (`.adoc`, `.md`, `src/site/**`); or manually via `workflow_dispatch`.
automatically before committing the release POM, so released artifacts carry the exact
123
148
timestamp of the release commit.
124
149
125
-
During development the property holds the initial project creation date
126
-
(`2026-06-07T00:00:00Z`), ensuring that `./mvnw verify` is reproducible regardless of
127
-
when the build runs.
150
+
Between releases the property holds a fixed timestamp — the last release's instant, or the
151
+
initial project creation date before the first release — ensuring that `./mvnw verify` is
152
+
reproducible regardless of when the build runs.
128
153
129
154
To verify build-plan reproducibility locally:
130
155
@@ -136,5 +161,5 @@ To verify build-plan reproducibility locally:
136
161
== Step 3 — After the Release
137
162
138
163
. Confirm the artifact appears on https://central.sonatype.com[Maven Central] (typically within minutes).
139
-
. Update the `archetypeVersion` in the link:index.html[Quick Start], the link:usage.html[Usage] examples, and the `README.adoc` `archetype:generate` command to the released version.
140
164
. Create a GitHub Release from the tag, summarising the changes.
165
+
. `main` now carries the next `-SNAPSHOT`; update any docs or examples that reference a specific archetype version.
0 commit comments