-
Notifications
You must be signed in to change notification settings - Fork 4k
GH-41102: [Packaging][Release] Create unique git tags for release candidates (e.g. apache-arrow-{MAJOR}.{MINOR}.{PATCH}-rc{RC_NUM}) #41131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
120 commits
Select commit
Hold shift + click to select a range
96ef703
Modified 01-prepare.sh to create a release-candidate tag instead of a
sgilmore10 905c72f
Update release candidate tag name to push in instructions
sgilmore10 b2539bb
Update tag name in release documentation
sgilmore10 e0698a9
Update tag name in 02-source.sh script
sgilmore10 dde3fd7
Update tag name in 03-binary-submit.sh
sgilmore10 4027976
Update tag name in 02-source-test.rb
sgilmore10 0fb6c7d
Add publish-release workflow
sgilmore10 605ef86
Add workflow to publish release candidate
sgilmore10 07437d2
Refactor publish_release.yml
sgilmore10 c924cc8
Delete obsolete comment
sgilmore10 9e9dc8c
Set env variable GH_TOKEN at the top
sgilmore10 7d2e6ed
Update step name in publish_release.yml
sgilmore10 7d43aa5
Add --repo flag
sgilmore10 5036ca6
Remove --target flag and add --verify-tag flag to gh release create
sgilmore10 15f5450
Update publish_release_candidate.yml name from Package to Publish Rel…
sgilmore10 30d2ac5
Update comments about workflow trigger
sgilmore10 fd2e92b
Update post-02-binary.sh to create the release git tag
sgilmore10 e894af7
Wait for Publish Release Workflow to finish
sgilmore10 720da34
Replace hard-coded workflow id value passed to gh run watch with vari…
sgilmore10 e8ec1c1
Add script to delete release candidates once the release is published
sgilmore10 5031ef6
Add step deleting for deleting the release candidates to the release …
sgilmore10 9fa02c9
Update git tag message to include release candidate number
sgilmore10 cf733ab
Update docs/source/developers/release.rst
sgilmore10 e941f19
Update .github/workflows/publish_release.yml
sgilmore10 1bfa56e
Update .github/workflows/publish_release.yml
sgilmore10 0425eed
Update .github/workflows/publish_release.yml
sgilmore10 6952fa2
Update .github/workflows/publish_release.yml
sgilmore10 8c72987
Update .github/workflows/publish_release.yml
sgilmore10 13d1bec
Update .github/workflows/publish_release.yml
sgilmore10 d6e28e9
Update .github/workflows/publish_release.yml
sgilmore10 95c1b7a
Update .github/workflows/publish_release.yml
sgilmore10 7791d41
Update .github/workflows/publish_release_candidate.yml
sgilmore10 454665d
Update .github/workflows/publish_release_candidate.yml
sgilmore10 93bf93e
Update .github/workflows/publish_release_candidate.yml
sgilmore10 397f534
Update .github/workflows/publish_release_candidate.yml
sgilmore10 d706fdf
Update .github/workflows/publish_release.yml
sgilmore10 2941b9e
Update .github/workflows/publish_release_candidate.yml
sgilmore10 1e87df1
Update .github/workflows/publish_release_candidate.yml
sgilmore10 afc0c95
Update .github/workflows/publish_release_candidate.yml
sgilmore10 759a415
Update comment about workflow trigger
sgilmore10 f0e7664
Rename publish_release.yml to release.yml
sgilmore10 bfebafb
Update tag patterns that trigger the release workflow
sgilmore10 4e0a2b6
Merge workflows creating release and release candidates into one work…
sgilmore10 b2113ab
Add newline to end of file
sgilmore10 a677e22
Use apache-arrow-X.Y.Z.tar.gz instead of apache-arrow-X.Y.Z.-rcN.tar.gz
sgilmore10 0752d4d
Delete dev/release/post-16-delete-release-candidates.sh
sgilmore10 c24aa88
Fix archive name in 02-source-test.rb
sgilmore10 5591fc9
1. Added dev/release/post-01-tag.sh
sgilmore10 dc48f7e
Update script names in release.rst
sgilmore10 b221ff6
Restrict workflow to maint-X.Y.Z, release-X.Y.Z, and release-X.Y.Z-rc…
sgilmore10 772ac44
Update dev/release/post-01-tag.sh
sgilmore10 bacf80d
Split release and release candidate workflows into separate files
sgilmore10 91bcac3
1. Remove gh command to watching release workflow
sgilmore10 60efd41
Update docs/source/developers/release.rst
sgilmore10 e82fa6d
Add logic to create release tarball to release_candidate.yml workflow
sgilmore10 7e4f481
Fix reference to version env variable
sgilmore10 143bd41
Download source tarball from release candidate instead in 02-source.sh
sgilmore10 648d266
Set GH_TOKEN env variable in "Run Release Test" step of the dev workflow
sgilmore10 0d66b16
Add script to create release tarball
sgilmore10 924e373
Use utils-create-release-tarball in release_candidate workflow
sgilmore10 6235cc1
Call utils-create-release-tarball in 02-source.sh is TEST_RELEASE_SCRIPT
sgilmore10 9291890
Set TEST_RELEASE_SCRIPT env variable to 1
sgilmore10 a0c7363
Fix path to utils-create-release-tarball.sh
sgilmore10 4b016a1
Fix path to utils-create-release-tarball.sh
sgilmore10 73a638a
remove dev/release from path to utils-create-release-tarball.sh
sgilmore10 71ce7a3
Add utils-create-release-tarball.sh
sgilmore10 410569b
Add +x permissions to utils-create-release-tarball.sh
sgilmore10 8a3c186
Add SOURCE_TOP_DIR and SOURCE_DIR variables
sgilmore10 4ebd7ce
GITHUB_REF_NAME -> tag
sgilmore10 daaff3c
Remove extra cd call
sgilmore10 046263a
RELEASE_HASH -> release_hash
sgilmore10 52149ca
Call utils-create-release-tarball.sh from within dev/release directory
sgilmore10 00ee47d
fix path to release tarball
sgilmore10 ea2d008
Update docs/source/developers/release.rst
sgilmore10 c707d08
Update dev/release/utils-create-release-tarball.sh
sgilmore10 be681d1
Update dev/release/02-source.sh
sgilmore10 b9065bc
Update dev/release/02-source-test.rb
sgilmore10 3c189a0
Add newlien to end of file
sgilmore10 2e68629
Add missing )
sgilmore10 2a38f59
Fix expand_path call
sgilmore10 73b18b9
Add tarball_script variable
sgilmore10 a142383
Initialize SOURCE_DOWNLOAD variable
sgilmore10 844d6b2
Add step to download release candidate artifacts in release workflow
sgilmore10 62168c7
Add newline to end of file
sgilmore10 269642d
Add script to sign and upload matlab artifacts to release candidate
sgilmore10 94e128a
Add newline to end of file
sgilmore10 0c8db09
Rename 07-matlab-upload.sh to 08-matlab-upload.sh
sgilmore10 f2ce0df
Make 08-matlab-upload executable
sgilmore10 d89cf5a
Add tag variable
sgilmore10 3f5553f
1. Make logic extracting the MAJOR.MINOR.PATCH version string more
sgilmore10 79538df
Use RELEASE_CANDIDATE_TAG_NAME variable
sgilmore10 eda00f9
Update .github/workflows/release.yml
sgilmore10 f8bccff
Update matlab/tools/packageMatlabInterface.m
sgilmore10 7fe0196
Escape dot in regex
sgilmore10 7c0e74c
Move SOURCE_DOWLOAD variable definition betwee SOURCE_DEFAULT and SOU…
sgilmore10 984d1a0
1. Renamed 08-matlab-upload.sh to 07-matlab-upload.sh.
sgilmore10 820d108
Update release documentaion
sgilmore10 abdb243
Do not set GH_TOKEN env variable in RUn Release Test step
sgilmore10 857d694
Remove step checking out arrow
sgilmore10 58b1609
Add comment to release documentation warning users to not run 02-sour…
sgilmore10 ca71d39
Remove trailing whitespace. Add newline at end of file
sgilmore10 1ba9583
Add --repo flag to gh commands
sgilmore10 7469a1e
Update .github/workflows/release_candidate.yml
sgilmore10 e7735dd
Bump post-* scripts numbers
sgilmore10 29046f4
Make post-01-tag.sh executable
sgilmore10 0d04322
Add script to watch gh workflows
sgilmore10 3f718f9
Add stencil script for for updating release notes
sgilmore10 1955ba0
Update repo to apache/arrow
sgilmore10 aadb889
Implement post-05-update-release-notes.sh
sgilmore10 7dbcaf5
reorder variable definitions
sgilmore10 619d704
Fix post-* numbering
sgilmore10 f454239
Update release documentation for msys2
sgilmore10 e159cc8
Added logic to 02-source.sh to wait for the gh workflow that generates
sgilmore10 ae82f13
Add step to documentation about updating release notes for the GitHu…
sgilmore10 b2dc805
Remove step creating release notes url in release workflow
sgilmore10 53bf1ca
Rename dev/release/post-05-update-release-notes.sh to dev/release/pos…
sgilmore10 9afa284
delete trailing whitespace
sgilmore10 b0a825d
update release documentation
sgilmore10 8d063c7
Fix syntax errors in post-05-update-gh-release-notes.sh
sgilmore10 1826874
Upload signed tarballs to GitHub Release
sgilmore10 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| # Licensed to the Apache Software Foundation (ASF) under one | ||
| # or more contributor license agreements. See the NOTICE file | ||
| # distributed with this work for additional information | ||
| # regarding copyright ownership. The ASF licenses this file | ||
| # to you under the Apache License, Version 2.0 (the | ||
| # "License"); you may not use this file except in compliance | ||
| # with the License. You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, | ||
| # software distributed under the License is distributed on an | ||
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
| # KIND, either express or implied. See the License for the | ||
| # specific language governing permissions and limitations | ||
| # under the License. | ||
|
|
||
| name: Release | ||
|
|
||
| on: | ||
| push: | ||
| tags: | ||
| # Trigger workflow when a tag whose name matches the pattern | ||
| # pattern "apache-arrow-{MAJOR}.{MINOR}.{PATCH}" is pushed. | ||
| - "apache-arrow-[0-9]+.[0-9]+.[0-9]+" | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| env: | ||
| GH_TOKEN: ${{ github.token }} | ||
|
|
||
| jobs: | ||
| publish: | ||
sgilmore10 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| name: Publish | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 5 | ||
| steps: | ||
| - name: Get Tag Name of Latest Release Candidate | ||
| run: | | ||
| rc_tag=$(gh release list --repo apache/arrow | \ | ||
| cut -f3 | \ | ||
| grep -F "${GITHUB_REF_NAME}-rc" | \ | ||
| head -n1) | ||
| echo "Latest Release Candidate Tag: ${rc_tag}" | ||
| echo "RELEASE_CANDIDATE_TAG_NAME=${rc_tag}" >> ${GITHUB_ENV} | ||
| - name: Store Version and Release Candidate Number | ||
| run: | | ||
| version_with_rc=${RELEASE_CANDIDATE_TAG_NAME#apache-arrow-} | ||
| version=${version_with_rc%-rc*} | ||
| rc_num=${version_with_rc#${version}-rc} | ||
| echo "VERSION_WITH_RC=${version_with_rc}" >> ${GITHUB_ENV} | ||
| echo "VERSION=${version}" >> ${GITHUB_ENV} | ||
| echo "RC_NUM=${rc_num}" >> ${GITHUB_ENV} | ||
| - name: Download Release Candidate Artifacts | ||
| run: | | ||
| mkdir release_candidate_artifacts | ||
| gh release download ${RELEASE_CANDIDATE_TAG_NAME} --repo apache/arrow --dir release_candidate_artifacts | ||
| - name: Create Release Title | ||
| run: | | ||
| title="Apache Arrow ${VERSION}" | ||
| echo "RELEASE_TITLE=${title}" >> ${GITHUB_ENV} | ||
| # Set the release notes to "TODO" temporarily. After the release notes page | ||
| # (https://arrow.apache.org/release/{VERSION}.html) is published, use | ||
| # gh release edit to update the release notes to refer to the newly | ||
| # pushed web page. See dev/post/post-05-update-gh-release-notes.sh | ||
| - name: Create GitHub Release | ||
| run: | | ||
| gh release create ${GITHUB_REF_NAME} \ | ||
| --repo apache/arrow \ | ||
| --verify-tag \ | ||
| --title "${RELEASE_TITLE}" \ | ||
| --notes "TODO" \ | ||
| release_candidate_artifacts/* | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,70 @@ | ||
| # Licensed to the Apache Software Foundation (ASF) under one | ||
| # or more contributor license agreements. See the NOTICE file | ||
| # distributed with this work for additional information | ||
| # regarding copyright ownership. The ASF licenses this file | ||
| # to you under the Apache License, Version 2.0 (the | ||
| # "License"); you may not use this file except in compliance | ||
| # with the License. You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, | ||
| # software distributed under the License is distributed on an | ||
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
| # KIND, either express or implied. See the License for the | ||
| # specific language governing permissions and limitations | ||
| # under the License. | ||
|
|
||
| name: Release | ||
|
|
||
| on: | ||
| push: | ||
| tags: | ||
| # Trigger workflow when a tag whose name matches the pattern | ||
| # "apache-arrow-{MAJOR}.{MINOR}.{PATCH}-rc{RC_NUM}" is pushed. | ||
| - "apache-arrow-[0-9]+.[0-9]+.[0-9]+-rc[0-9]+" | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| env: | ||
| GH_TOKEN: ${{ github.token }} | ||
sgilmore10 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| jobs: | ||
| publish: | ||
| name: Publish | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 5 | ||
| steps: | ||
| - name: Checkout Arrow | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 | ||
| - name: Store Version and Release Candidate Number | ||
| run: | | ||
| version_with_rc=${GITHUB_REF_NAME#apache-arrow-} | ||
| version=${version_with_rc%-rc*} | ||
| rc_num=${version_with_rc#${version}-rc} | ||
| echo "VERSION_WITH_RC=${version_with_rc}" >> ${GITHUB_ENV} | ||
| echo "VERSION=${version}" >> ${GITHUB_ENV} | ||
| echo "RC_NUM=${rc_num}" >> ${GITHUB_ENV} | ||
| - name: Create Release Candidate Title | ||
| run: | | ||
| title="Apache Arrow ${VERSION} RC${RC_NUM}" | ||
| echo "RELEASE_CANDIDATE_TITLE=${title}" >> ${GITHUB_ENV} | ||
| - name: Create Release Candidate Notes | ||
| run: | | ||
| release_notes="Release Candidate: ${VERSION} RC${RC_NUM}" | ||
| echo "RELEASE_CANDIDATE_NOTES=${release_notes}" >> ${GITHUB_ENV} | ||
| - name: Create Release tarball | ||
| run: | | ||
| cd dev/release/ && ./utils-create-release-tarball.sh ${VERSION} ${RC_NUM} | ||
| echo "RELEASE_TARBALL=apache-arrow-${VERSION}.tar.gz" >> ${GITHUB_ENV} | ||
| - name: Create GitHub Release | ||
| run: | | ||
| gh release create ${GITHUB_REF_NAME} \ | ||
| --verify-tag \ | ||
| --prerelease \ | ||
| --title "${RELEASE_CANDIDATE_TITLE}" \ | ||
| --notes "Release Notes: ${RELEASE_CANDIDATE_NOTES}" \ | ||
| dev/release/${RELEASE_TARBALL} | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.