From 3128a8740792eb9c263fb20d444497e4b6a630b7 Mon Sep 17 00:00:00 2001 From: Logan Riggs Date: Mon, 2 Feb 2026 15:37:17 -0800 Subject: [PATCH 1/3] Change release naming scheme to add commit ids. --- .github/workflows/jarbuild.yml | 59 ++++++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 9 deletions(-) diff --git a/.github/workflows/jarbuild.yml b/.github/workflows/jarbuild.yml index 5ee2c91ad..a04be1bf9 100644 --- a/.github/workflows/jarbuild.yml +++ b/.github/workflows/jarbuild.yml @@ -488,30 +488,71 @@ jobs: permissions: contents: write steps: + - name: Checkout arrow-java repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: Checkout Apache Arrow C++ repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + repository: ${{github.event.inputs.arrow_repo}} + ref: ${{github.event.inputs.arrow_branch}} + path: arrow + - name: Get commit IDs + id: commit_ids + run: | + # Get short commit ID for arrow-java + arrow_java_commit=$(git rev-parse --short HEAD) + echo "arrow_java_commit=${arrow_java_commit}" >> $GITHUB_OUTPUT + + # Get short commit ID for arrow + cd arrow + arrow_commit=$(git rev-parse --short HEAD) + echo "arrow_commit=${arrow_commit}" >> $GITHUB_OUTPUT + cd .. + + # Parse version from release tag + ver=$(echo ${{github.event.inputs.release_tag_name}}) + version=${ver%-rc*} + version=${version#v} + rc=${ver#*-rc} + + # Create release name with both commit IDs + release_name="${version}-${arrow_java_commit}-${arrow_commit}" + release_tag="v${release_name}" + echo "release_name=${release_name}" >> $GITHUB_OUTPUT + echo "release_tag=${release_tag}" >> $GITHUB_OUTPUT + echo "version=${version}" >> $GITHUB_OUTPUT + echo "rc=${rc}" >> $GITHUB_OUTPUT + + echo "Arrow Java commit: ${arrow_java_commit}" + echo "Arrow commit: ${arrow_commit}" + echo "Release tag: ${release_tag}" - name: Download release artifacts uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: pattern: release-* path: artifacts + - name: Create and push tag + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git tag -a "${{ steps.commit_ids.outputs.release_tag }}" -m "Release ${{ steps.commit_ids.outputs.release_name }} RC${{ steps.commit_ids.outputs.rc }}" + git push origin "${{ steps.commit_ids.outputs.release_tag }}" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload run: | # GH-499: How to create release notes? - echo "${{github.event.inputs.release_tag_name}}" - ver=$(echo ${{github.event.inputs.release_tag_name}}) - version=${ver%-rc*} - version=${version#v} - rc=${ver#*-rc} - gh release create ${{github.event.inputs.release_tag_name}} \ + echo "Creating release: ${{ steps.commit_ids.outputs.release_tag }}" + gh release create "${{ steps.commit_ids.outputs.release_tag }}" \ --generate-notes \ --prerelease \ --repo ${GITHUB_REPOSITORY} \ - --title "Apache Arrow Java ${version} RC${rc}" \ - --verify-tag + --title "Apache Arrow Java ${{ steps.commit_ids.outputs.version }} RC${{ steps.commit_ids.outputs.rc }} (arrow-java: ${{ steps.commit_ids.outputs.arrow_java_commit }}, arrow: ${{ steps.commit_ids.outputs.arrow_commit }})" # GitHub CLI does not respect their own rate limits # https://github.com/cli/cli/issues/9586 for artifact in artifacts/*/*; do sleep 1 - gh release upload ${{github.event.inputs.release_tag_name}} \ + gh release upload "${{ steps.commit_ids.outputs.release_tag }}" \ --repo ${GITHUB_REPOSITORY} \ $artifact done From e2fc17e082e32c266abeb632aa6d7be21afb5bfb Mon Sep 17 00:00:00 2001 From: Logan Riggs Date: Thu, 5 Feb 2026 09:52:59 -0800 Subject: [PATCH 2/3] Add action url to release --- .github/workflows/jarbuild.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/jarbuild.yml b/.github/workflows/jarbuild.yml index a04be1bf9..e0de53116 100644 --- a/.github/workflows/jarbuild.yml +++ b/.github/workflows/jarbuild.yml @@ -535,7 +535,7 @@ jobs: run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" - git tag -a "${{ steps.commit_ids.outputs.release_tag }}" -m "Release ${{ steps.commit_ids.outputs.release_name }} RC${{ steps.commit_ids.outputs.rc }}" + git tag -a "${{ steps.commit_ids.outputs.release_tag }}" -m "Release ${{ steps.commit_ids.outputs.release_name }} RC${{ steps.commit_ids.outputs.rc }}" -m "Action URL: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" git push origin "${{ steps.commit_ids.outputs.release_tag }}" env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -544,7 +544,7 @@ jobs: # GH-499: How to create release notes? echo "Creating release: ${{ steps.commit_ids.outputs.release_tag }}" gh release create "${{ steps.commit_ids.outputs.release_tag }}" \ - --generate-notes \ + --notes-from-tag \ --prerelease \ --repo ${GITHUB_REPOSITORY} \ --title "Apache Arrow Java ${{ steps.commit_ids.outputs.version }} RC${{ steps.commit_ids.outputs.rc }} (arrow-java: ${{ steps.commit_ids.outputs.arrow_java_commit }}, arrow: ${{ steps.commit_ids.outputs.arrow_commit }})" @@ -557,4 +557,4 @@ jobs: $artifact done env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 436d2d5df44cab20a67357eba33ad4aca90838e9 Mon Sep 17 00:00:00 2001 From: Logan Riggs Date: Thu, 5 Feb 2026 12:04:21 -0800 Subject: [PATCH 3/3] Add action url to release --- .github/workflows/jarbuild.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jarbuild.yml b/.github/workflows/jarbuild.yml index e0de53116..d64d778c0 100644 --- a/.github/workflows/jarbuild.yml +++ b/.github/workflows/jarbuild.yml @@ -544,7 +544,7 @@ jobs: # GH-499: How to create release notes? echo "Creating release: ${{ steps.commit_ids.outputs.release_tag }}" gh release create "${{ steps.commit_ids.outputs.release_tag }}" \ - --notes-from-tag \ + -n "Action URL: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" \ --prerelease \ --repo ${GITHUB_REPOSITORY} \ --title "Apache Arrow Java ${{ steps.commit_ids.outputs.version }} RC${{ steps.commit_ids.outputs.rc }} (arrow-java: ${{ steps.commit_ids.outputs.arrow_java_commit }}, arrow: ${{ steps.commit_ids.outputs.arrow_commit }})"