@@ -488,32 +488,73 @@ jobs:
488488 permissions :
489489 contents : write
490490 steps :
491+ - name : Checkout arrow-java repository
492+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
493+ - name : Checkout Apache Arrow C++ repository
494+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
495+ with :
496+ repository : ${{github.event.inputs.arrow_repo}}
497+ ref : ${{github.event.inputs.arrow_branch}}
498+ path : arrow
499+ - name : Get commit IDs
500+ id : commit_ids
501+ run : |
502+ # Get short commit ID for arrow-java
503+ arrow_java_commit=$(git rev-parse --short HEAD)
504+ echo "arrow_java_commit=${arrow_java_commit}" >> $GITHUB_OUTPUT
505+
506+ # Get short commit ID for arrow
507+ cd arrow
508+ arrow_commit=$(git rev-parse --short HEAD)
509+ echo "arrow_commit=${arrow_commit}" >> $GITHUB_OUTPUT
510+ cd ..
511+
512+ # Parse version from release tag
513+ ver=$(echo ${{github.event.inputs.release_tag_name}})
514+ version=${ver%-rc*}
515+ version=${version#v}
516+ rc=${ver#*-rc}
517+
518+ # Create release name with both commit IDs
519+ release_name="${version}-${arrow_java_commit}-${arrow_commit}"
520+ release_tag="v${release_name}"
521+ echo "release_name=${release_name}" >> $GITHUB_OUTPUT
522+ echo "release_tag=${release_tag}" >> $GITHUB_OUTPUT
523+ echo "version=${version}" >> $GITHUB_OUTPUT
524+ echo "rc=${rc}" >> $GITHUB_OUTPUT
525+
526+ echo "Arrow Java commit: ${arrow_java_commit}"
527+ echo "Arrow commit: ${arrow_commit}"
528+ echo "Release tag: ${release_tag}"
491529 - name : Download release artifacts
492530 uses : actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
493531 with :
494532 pattern : release-*
495533 path : artifacts
534+ - name : Create and push tag
535+ run : |
536+ git config user.name "github-actions[bot]"
537+ git config user.email "github-actions[bot]@users.noreply.github.com"
538+ 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"
539+ git push origin "${{ steps.commit_ids.outputs.release_tag }}"
540+ env :
541+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
496542 - name : Upload
497543 run : |
498544 # GH-499: How to create release notes?
499- echo "${{github.event.inputs.release_tag_name}}"
500- ver=$(echo ${{github.event.inputs.release_tag_name}})
501- version=${ver%-rc*}
502- version=${version#v}
503- rc=${ver#*-rc}
504- gh release create ${{github.event.inputs.release_tag_name}} \
505- --generate-notes \
545+ echo "Creating release: ${{ steps.commit_ids.outputs.release_tag }}"
546+ gh release create "${{ steps.commit_ids.outputs.release_tag }}" \
547+ -n "Action URL: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" \
506548 --prerelease \
507549 --repo ${GITHUB_REPOSITORY} \
508- --title "Apache Arrow Java ${version} RC${rc}" \
509- --verify-tag
550+ --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 }})"
510551 # GitHub CLI does not respect their own rate limits
511552 # https://github.com/cli/cli/issues/9586
512553 for artifact in artifacts/*/*; do
513554 sleep 1
514- gh release upload ${{github.event.inputs.release_tag_name}} \
555+ gh release upload " ${{ steps.commit_ids.outputs.release_tag }}" \
515556 --repo ${GITHUB_REPOSITORY} \
516557 $artifact
517558 done
518559 env :
519- GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
560+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments