-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
GH-40924: [MATLAB][Packaging] Add script for uploading Release Candidate (RC) MLTBX packages for the MATLAB bindings to the Apache Arrow GitHub Releases area #40956
Closed
Closed
Changes from all commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
d5adac5
Add UPLOAD_MATLAB env variable to 05-binary-upload.sh
sgilmore10 386c50b
Add logic to upload MLTBX release candidates to apache/arrow's GitHub…
sgilmore10 378af3a
Fix indentation
sgilmore10 ee9c171
Split gh command into multiple lines
sgilmore10 6f6d67d
Add quotes around release notes argument.
kevingurney db4ed2a
Add gpg signing and SHA512 checksum calculation for MLTBX file.
kevingurney 9dc7015
1. Update Release Title
sgilmore10 f9d9f65
Add initial .github/workflows/package.yml workflow
sgilmore10 e108422
Add Cut Prerelease step to package.yml workflow
sgilmore10 6c6bb92
Fix syntax error when appending env var to GITHUB_ENV
sgilmore10 2fb2d55
1. Comment package.yml steps
sgilmore10 ac77f5b
Use dev/release/04-binary-download.sh to download the release candida…
sgilmore10 d489d60
Remove step extracting crossbow id from git tag message
sgilmore10 8fd9b4c
Change job name from release to publish-release-candidate
sgilmore10 37171a5
add comment explaining when the workflow is triggered
sgilmore10 1623ede
Add step to checkout crossbow
sgilmore10 c0a9d8e
Remove step updating git tags
sgilmore10 2ea8b11
Rename env var RELEASE_TAG_NAME to ARROW_RELEASE_TAG_NAME
sgilmore10 bc0b411
Rename Extract version strings step to Store Version and Release Cand…
sgilmore10 61f62ec
1. Rename Setup Archery step to Install Archery
sgilmore10 47e213a
1. Rename Download artifacts step to Download MLTBX Release Candidate
sgilmore10 e619b8b
1. Rename Cut Pre-Release to Create GitHub Release for Release Candidate
sgilmore10 592e168
Fix indentation in package.yml
sgilmore10 bdf2a77
Fix call to 04-binary-download.sh
sgilmore10 153ec84
Update old references to RELEASE_TAG_NAME to ARROW_RELEASE_TAG_NAME
sgilmore10 243ea58
Update 05-binary-upload.sh to trigger the Package workflow
sgilmore10 af1910a
Add stencil utils-sign-artifact.sh file
sgilmore10 a6e6624
Remove utils-sign-artifact.sh
sgilmore10 b1e8e15
Update release documentaion
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 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,85 @@ | ||
# 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: Package | ||
|
||
on: | ||
push: | ||
tags: | ||
# A release candidate should be published whenever a tag with | ||
# the name below is pushed to the apache/arrow repository. | ||
- "apache-arrow-*-rc*" | ||
|
||
jobs: | ||
publish-release-candidate: | ||
name: Publish Release Candidate to GitHub Releases | ||
runs-on: ubuntu-latest | ||
if: github.ref_type == 'tag' | ||
steps: | ||
- name: Checkout apache/arrow | ||
uses: actions/checkout@v4 | ||
with: | ||
path: arrow | ||
fetch-depth: 0 | ||
- name: Checkout ursacomputing/crossbow | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: ursacomputing/crossbow | ||
path: crossbow | ||
fetch-depth: 0 | ||
- name: Store Release Tag Name as Environment Variable | ||
# For convenience, store the release tag name as an environment | ||
# variable for use in subsequent steps. | ||
run: | | ||
echo "ARROW_RELEASE_TAG_NAME=${{github.ref_name}}" >> "$GITHUB_ENV" | ||
- name: Store Version and Release Candidate Number as Environment Variables | ||
# From environment variable ARROW_RELEASE_TAG_NAME, extract the version and | ||
# release candidate number. Store these values as environment variables. | ||
run: | | ||
version_with_rc=${ARROW_RELEASE_TAG_NAME#apache-arrow-} | ||
version=${version_with_rc%-rc*} | ||
rc_num=${version_with_rc#${version}-rc} | ||
echo "ARROW_VERSION_WITH_RC=${version_with_rc}" >> "${GITHUB_ENV}" | ||
echo "ARROW_VERSION=${version}" >> ${GITHUB_ENV} | ||
echo "ARROW_RC_NUM=${rc_num}" >> ${GITHUB_ENV} | ||
- name: Install Archery | ||
run: | | ||
python3 -m pip install -e arrow/dev/archery[crossbow] | ||
- name: Download Release Candidate MLTBX | ||
# Download the MLTBX file from the crossbow GitHub Release's area. | ||
run: | | ||
./arrow/dev/release/04-binary-download.sh ${ARROW_VERSION} ${ARROW_RC_NUM} --task-filter matlab | ||
mltbx_file=$(find arrow/packages -name '*.mltbx' -type f) | ||
echo "ARROW_MLTBX_FILE=${mltbx_file}" >> $GITHUB_ENV | ||
- name: Create GitHub Release for Release Candidate | ||
# Create a pre-release in apache/arrow's GitHub Releases area. | ||
# Attach the release candidate MLTBX file as an asset. | ||
run: | | ||
target_branch=release-${ARROW_VERSION_WITH_RC} | ||
title="Apache Arrow ${ARROW_VERSION} RC${ARROW_RC_NUM}" | ||
repository=${{github.repository}} | ||
release_notes="Release Candidate: ${ARROW_VERSION} RC${ARROW_RC_NUM}" | ||
gh release create \ | ||
${ARROW_RELEASE_TAG_NAME} \ | ||
${ARROW_MLTBX_FILE} \ | ||
--prerelease \ | ||
--target ${target_branch} \ | ||
--notes "${release_notes}" \ | ||
--title "${title}" \ | ||
--repo ${repository} | ||
env: | ||
GH_TOKEN: ${{ github.token }} |
This file contains 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 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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you do this in
dev/release/01-prepare.sh
something like the following?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @kou,
Thanks for sharing this diff! We just have one clarification question:
Based on the diff you shared, it looks like you want us to replace the
release_tag
with therc_tag
. Did you mean for us to actually add therc_tag
in addition to therelease_tag
? We asking because we assume we still want to create arelease_tag
.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No. I mean for us to replace the
release_tag
withrc_tag
.I want to change the current workflow:
apache-arrow-X.Y.Z
tag for X.Y.Z RC0apache-arrow-X.Y.Z
tag for X.Y.Z RC0apache-arrow-X.Y.Z
tag for X.Y.Z RC1to the following:
apache-arrow-X.Y.Z-rc0
tag for X.Y.Z RC0apache-arrow-X.Y.Z-rc1
tag for X.Y.Z RC1apache-arrow-X.Y.Z
tag fromapache-arrow-X.Y.Z-rc1
like apache/arrow-adbc and apache/arrow-flight-sql-postgresql doHmm. It's better that we handle the workflow change related task in a separated issue...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the clarification! I've created a issue #41102 to track this work. Once this PR is merged, I'll take ownership of that issue and make the required changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @kou,
On second thought, we think it actually makes more sense to tackle #41102 first since the new GitHub Actions Workflow (
package.yml
) requires the release candidate tag (apache-arrow.X.Y.Z-rcN
) to be pushed. We'll put this PR on pause for a bit until that #41102 is closed.Best,
Sarah
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It makes sense!