Skip to content

Commit 3c11ac8

Browse files
committed
docs: add Semi-Manual Release steps; defer automation until upstream activity increases
1 parent 1aa40bd commit 3c11ac8

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

AGENTS.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,3 +308,35 @@ PY
308308
* MUST include additional tests in the CI checks that MUST be documented in the PR description.
309309
* MUST be changed to status `Draft` if the PR checks fail.
310310
</PULL_REQUESTS>
311+
312+
313+
## Semi-Manual Release (Deferred Automation)
314+
315+
The project currently uses a simple, guarded, semi-manual release. Automation via tags is deferred until upstream activity picks up.
316+
317+
Steps (run each line individually)
318+
- set -euo pipefail
319+
- test -z "$(git status --porcelain)"
320+
- VERSION="$(awk -F= '/^VERSION=/{print $2; exit}' .env)"; echo "$VERSION"
321+
- git checkout -b "rel-$VERSION"
322+
- mvn -q versions:set -DnewVersion="$VERSION"
323+
- git commit -am "chore: release $VERSION (branch-local version bump)"
324+
- git tag -a "release/$VERSION" -m "release $VERSION"
325+
- test "$(git cat-file -t "release/$VERSION")" = "tag"
326+
- test "$(git rev-parse "release/$VERSION^{commit}")" = "$(git rev-parse HEAD)"
327+
- git push origin "release/$VERSION"
328+
- gh release create "release/$VERSION" --generate-notes -t "release $VERSION"
329+
- set -a; . ./.env; set +a
330+
- KEYARG=""; [ -n "$GPG_KEYNAME" ] && KEYARG="-Dgpg.keyname=$GPG_KEYNAME"
331+
- mvn -P release -Dgpg.passphrase="$GPG_PASSPHRASE" $KEYARG clean deploy
332+
- git push -u origin "rel-$VERSION" # optional; useful for PRs or provenance
333+
334+
If fixes occur after tagging
335+
- git tag -d "release/$VERSION"
336+
- git tag -a "release/$VERSION" -m "release $VERSION"
337+
- git push -f origin "release/$VERSION"
338+
339+
Notes
340+
- .env holds VERSION, GPG_PASSPHRASE, and optionally GPG_KEYNAME. It should not be committed.
341+
- No SNAPSHOT bump to main. Version selection is driven by the tag and GitHub Release.
342+
- The release profile (-P release) scopes signing/publishing; daily jobs don’t invoke GPG.

0 commit comments

Comments
 (0)