@@ -110,10 +110,6 @@ jobs:
110110 with :
111111 fetch-depth : 0
112112 - uses : dtolnay/rust-toolchain@stable
113- - name : Install git-cliff
114- uses : taiki-e/install-action@v2
115- with :
116- tool : git-cliff
117113 - name : Determine next version from conventional commits
118114 id : next_version
119115 working-directory : ./rust/main
@@ -178,17 +174,16 @@ jobs:
178174 echo "Next version: $NEW_VERSION ($BUMP_TYPE bump from $CURRENT_VERSION)"
179175 - name : Generate changelog
180176 id : changelog
181- working-directory : ./rust/main
182177 env :
183178 NEW_VERSION : ${{ steps.next_version.outputs.new_version }}
184179 run : |
185- # Generate changelog for commits since last release
180+ # Generate workspace-grouped changelog using custom script
186181 LATEST_TAG=$(git tag -l "agents-v*" --sort=-version:refname | grep -E "^agents-v[0-9]+\.[0-9]+\.[0-9]+$" | head -1)
187182
188183 if [ -z "$LATEST_TAG" ]; then
189- CHANGELOG=$(git-cliff --config cliff.toml --unreleased --strip all )
184+ CHANGELOG=$(./rust/scripts/generate-workspace-changelog.sh )
190185 else
191- CHANGELOG=$(git-cliff --config cliff.toml "${LATEST_TAG}..HEAD" --strip all )
186+ CHANGELOG=$(./rust/scripts/generate-workspace-changelog.sh "${LATEST_TAG}..HEAD")
192187 fi
193188
194189 # Save changelog to file for PR body
@@ -276,11 +271,11 @@ jobs:
276271 git push -f origin "$BRANCH_NAME"
277272
278273 # Create or update PR
279- PR_BODY="## Release agents v${NEW_VERSION}
274+ PR_BODY="# Release agents v${NEW_VERSION}
280275
281276 This PR prepares the release of Hyperlane agents version **${NEW_VERSION}** (${BUMP_TYPE} bump).
282277
283- ### What's Changed
278+ ## What's Changed
284279
285280 ${CHANGELOG}
286281
@@ -335,12 +330,7 @@ jobs:
335330 - uses : actions/checkout@v4
336331 with :
337332 fetch-depth : 0
338- - name : Install git-cliff
339- uses : taiki-e/install-action@v2
340- with :
341- tool : git-cliff
342333 - name : Determine version and create release
343- working-directory : ./rust/main
344334 env :
345335 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
346336 IS_PRERELEASE : ${{ github.event_name == 'workflow_dispatch' && inputs.prerelease }}
@@ -380,12 +370,21 @@ jobs:
380370 TAG_NAME="agents-v${VERSION}"
381371 echo "Creating $RELEASE_TYPE: $TAG_NAME"
382372
383- # Generate changelog
373+ # Generate workspace-grouped changelog
384374 PREV_TAG=$(git describe --tags --abbrev=0 --match "agents-v*" 2>/dev/null || echo "")
375+
376+ # For stable releases (push to main), use HEAD~1 to exclude the version bump commit
377+ # For prereleases (workflow_dispatch), use HEAD since there's no version bump commit
378+ if [ "$IS_PRERELEASE" = "true" ]; then
379+ COMMIT_RANGE_END="HEAD"
380+ else
381+ COMMIT_RANGE_END="HEAD~1"
382+ fi
383+
385384 if [ -z "$PREV_TAG" ]; then
386- CHANGELOG=$(git-cliff --config cliff.toml --unreleased --strip all )
385+ CHANGELOG=$(./rust/scripts/generate-workspace-changelog.sh )
387386 else
388- CHANGELOG=$(git-cliff --config cliff.toml --latest --strip all )
387+ CHANGELOG=$(./rust/scripts/generate-workspace-changelog.sh "${PREV_TAG}..${COMMIT_RANGE_END}" )
389388 fi
390389
391390 # Add warning for pre-releases
0 commit comments