Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
cf830ff
feat(release): add changelog entry, GitHub Releases, lastPublished, a…
fabisev Aug 24, 2026
3bde5cb
Merge branch 'main' into fabisev/release-changelog-and-github-releases
fabisev Aug 25, 2026
555b3f5
build: centralize module versions in a parent POM
fabisev Aug 25, 2026
cff1683
Merge branch 'main' into fabisev/release-changelog-and-github-releases
fabisev Aug 26, 2026
45420b7
Merge branch 'main' into fabisev/release-changelog-and-github-releases
fabisev Aug 27, 2026
5d51046
refactor(release): address PR review on parent POM and workflow
fabisev Aug 31, 2026
ce9f80b
docs(release): shorten version-map comment
fabisev Aug 31, 2026
5a6a528
chore(release): set meaningful Central deploymentName (GAV)
fabisev Aug 31, 2026
f980a36
feat(release): attach signed jars + verify notes to GitHub Release
fabisev Sep 1, 2026
0d41205
Merge branch 'main' into fabisev/release-changelog-and-github-releases
fabisev Sep 1, 2026
fb9da27
refactor(release): split shared parent POM into a follow-up PR
fabisev Sep 1, 2026
9bc7a4a
Merge remote-tracking branch 'origin/fabisev/release-changelog-and-gi…
fabisev Sep 1, 2026
91ebbbc
feat(release): attach signed jars to GitHub Releases
fabisev Sep 1, 2026
e9d9111
Merge branch 'main' into fabisev/release-changelog-and-github-releases
fabisev Sep 1, 2026
7363371
fix(release): validate release version and keep GPG passphrase off argv
fabisev Sep 2, 2026
649ce7e
chore(release): squash post-release bump into one commit
fabisev Sep 2, 2026
b3d7b5b
Merge remote-tracking branch 'origin/fabisev/release-changelog-and-gi…
fabisev Sep 2, 2026
baa4cd5
refactor(release): centralize release tag in TAG_NAME
fabisev Sep 2, 2026
7d71c9f
fix(release): resolve artifact dir dynamically, extract tag/PR action…
fabisev Sep 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
chore(release): squash post-release bump into one commit
  • Loading branch information
fabisev committed Sep 2, 2026
commit 649ce7ed5f5f5f44159033c8977f5d5e537012b9
16 changes: 6 additions & 10 deletions .github/workflows/release-runtime-interface-client.yml
Original file line number Diff line number Diff line change
Expand Up @@ -323,19 +323,15 @@ jobs:
git commit -am "chore(ric): release ${EFFECTIVE_RELEASE_VERSION}"
git tag "$TAG_NAME"

# Next development version commit. Also refresh the informational
# lastPublished marker to the version just published (rides in the
# post-release commit, so the tagged release commit is untouched).
# Single post-release commit: next development version bump, the
# lastPublished marker, and the changelog entry. Sits on top of the
# tag, so the tagged release commit is untouched. The changelog entry
# is passed via env, never interpolated into the script, so it can't
# inject shell.
mvn versions:set -DnewVersion="$NEXT_DEV_VERSION" -DgenerateBackupPoms=false --file "$MODULE/pom.xml"
if grep -q "<!-- lastPublished:" "$MODULE/pom.xml"; then
sed -i "s|<!-- lastPublished:.*-->|<!-- lastPublished: ${EFFECTIVE_RELEASE_VERSION} (auto-updated by release-runtime-interface-client.yml) -->|" "$MODULE/pom.xml"
fi
git commit -am "chore(ric): prepare next development ${NEXT_DEV_VERSION}"

# Prepend the changelog entry so it ships in the version-bump PR (on
# top of the dev-version commit, after the tag, so the tag itself is
# unchanged). Passed via env, never interpolated into the script, so
# it can't inject shell.
CHANGELOG="$MODULE/RELEASE.CHANGELOG.md"
TMP="$(mktemp)"
{
Expand All @@ -346,7 +342,7 @@ jobs:
} > "$TMP"
mv "$TMP" "$CHANGELOG"
git add "$CHANGELOG"
git commit -m "docs(release): add ${MODULE} ${EFFECTIVE_RELEASE_VERSION} changelog entry"
git commit -am "chore(release): prepare next development, record ${MODULE} ${EFFECTIVE_RELEASE_VERSION} lastPublished and changelog"

# Tag push isn't gated by branch protection; the version-bump commits
# go to a release branch and land on main via PR.
Expand Down
30 changes: 12 additions & 18 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -247,32 +247,24 @@ jobs:
-Darguments="-gs $MAVEN_SETTINGS -Prelease -Dgpg.keyname=$GPG_KEYNAME" \
--file "$MODULE/pom.xml"

# Record the published version in the module's lastPublished comment so
# the POM reflects what's on Central. Rides in the version-bump PR below
# (main is protected).
- name: Record released version (POM lastPublished)
# Fold the lastPublished marker and changelog entry into the single
# next-development commit that release:prepare created (local, unpushed),
# so the whole post-release bump is ONE commit in the version-bump PR
# below (main is protected). The tag points at the prior release commit,
# so amending here leaves the tag untouched. The changelog entry is passed
# via env, never interpolated into the script, so it can't inject shell.
- name: Record next dev, lastPublished and changelog
if: ${{ github.event.inputs.skip_publish != 'true' }}
run: |
# Module's lastPublished annotation.
# Refresh the module's lastPublished marker to what was just published.
if grep -q "<!-- lastPublished:" "$MODULE/pom.xml"; then
sed -i "s|<!-- lastPublished:.*-->|<!-- lastPublished: ${EFFECTIVE_RELEASE_VERSION} (auto-updated by release.yml) -->|" "$MODULE/pom.xml"
git add "$MODULE/pom.xml"
else
echo "::notice::$MODULE has no lastPublished comment; skipping annotation"
fi

# Commit the record, or nothing if it didn't change.
if git diff --cached --quiet; then
echo "::notice::$MODULE already recorded at ${EFFECTIVE_RELEASE_VERSION}; nothing to commit"
else
git commit -m "chore(release): record ${MODULE} ${EFFECTIVE_RELEASE_VERSION} lastPublished"
fi

# Prepend the changelog entry so it ships in the version-bump PR. Passed
# via env, never interpolated into the script, so it can't inject shell.
- name: Prepend changelog entry
if: ${{ github.event.inputs.skip_publish != 'true' }}
run: |
# Prepend the changelog entry.
CHANGELOG="$MODULE/RELEASE.CHANGELOG.md"
TMP="$(mktemp)"
{
Expand All @@ -283,7 +275,9 @@ jobs:
} > "$TMP"
mv "$TMP" "$CHANGELOG"
git add "$CHANGELOG"
git commit -m "docs(release): add ${MODULE} ${EFFECTIVE_RELEASE_VERSION} changelog entry"

# Fold into release:prepare's next-dev commit -> one post-release commit.
git commit --amend -m "chore(release): prepare next development, record ${MODULE} ${EFFECTIVE_RELEASE_VERSION} lastPublished and changelog"

# main is protected (no direct push), so push the tag and open a PR for
# the version-bump commits instead. Skipping this would leave the POM on
Expand Down