This is an automated email from the ASF dual-hosted git repository.

raulcd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new 4e5f7eae17 GH-48838: [Release] Use gh cli to download sources for 
Linux packages and publish draft release before verification (#48839)
4e5f7eae17 is described below

commit 4e5f7eae17619aa98d5dd764d8a6c1629d9e9956
Author: Raúl Cumplido <[email protected]>
AuthorDate: Tue Jan 13 13:01:18 2026 +0100

    GH-48838: [Release] Use gh cli to download sources for Linux packages and 
publish draft release before verification (#48839)
    
    ### Rationale for this change
    
    With the change we did for immutable releases we required draft releases to 
be able to keep uploading artifacts during the release process. This means that 
the interim URL to download assets isn't the expected one on some of our 
scripts.
    
    ### What changes are included in this PR?
    
    Update the `download_rc_archive` task so we use the GitHub cli tool instead 
of manually building the download URL for the source tar.gz from the release.
    Update order of release scripts to publish the release before running 
verification tasks so the URL is the final one.
    
    ### Are these changes tested?
    
    I have manually tested both the `gh release download` script and that the 
final URL will be the expected one once we move from draft to published 
release. I've tested creating a new release on my own fork here:
    https://github.com/raulcd/arrow/releases/tag/test-release-rc2
    
    ### Are there any user-facing changes?
    
    No
    
    * GitHub Issue: #48838
    
    Authored-by: Raúl Cumplido <[email protected]>
    Signed-off-by: Raúl Cumplido <[email protected]>
---
 .pre-commit-config.yaml                                      |  2 +-
 .../{08-publish-gh-release.sh => 07-publish-gh-release.sh}   |  0
 dev/release/{07-binary-verify.sh => 08-binary-verify.sh}     |  0
 dev/tasks/linux-packages/apache-arrow/Rakefile               | 12 ++++++++----
 docs/source/developers/release.rst                           | 12 ++++++++----
 5 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 186277edf4..da84abed0d 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -353,7 +353,7 @@ repos:
           ?^cpp/examples/minimal_build/run\.sh$|
           ?^cpp/examples/tutorial_examples/run\.sh$|
           ?^dev/release/05-binary-upload\.sh$|
-          ?^dev/release/07-binary-verify\.sh$|
+          ?^dev/release/08-binary-verify\.sh$|
           ?^dev/release/binary-recover\.sh$|
           ?^dev/release/post-03-binary\.sh$|
           ?^dev/release/post-08-docs\.sh$|
diff --git a/dev/release/08-publish-gh-release.sh 
b/dev/release/07-publish-gh-release.sh
similarity index 100%
rename from dev/release/08-publish-gh-release.sh
rename to dev/release/07-publish-gh-release.sh
diff --git a/dev/release/07-binary-verify.sh b/dev/release/08-binary-verify.sh
similarity index 100%
rename from dev/release/07-binary-verify.sh
rename to dev/release/08-binary-verify.sh
diff --git a/dev/tasks/linux-packages/apache-arrow/Rakefile 
b/dev/tasks/linux-packages/apache-arrow/Rakefile
index 7644d2d23f..cdb7710845 100644
--- a/dev/tasks/linux-packages/apache-arrow/Rakefile
+++ b/dev/tasks/linux-packages/apache-arrow/Rakefile
@@ -59,11 +59,15 @@ class ApacheArrowPackageTask < PackageTask
   end
 
   def download_rc_archive
-    base_url = "https://github.com/#{github_repository}";
-    base_url += "/releases/download/apache-arrow-#{@version}"
     archive_name_no_rc = @archive_name.gsub(/-rc\d+(\.tar\.gz)\z/, "\\1")
-    url = "#{base_url}/#{archive_name_no_rc}"
-    download(url, @archive_name)
+    sh("gh",
+       "release",
+       "download",
+       "apache-arrow-#{@version}",
+       "--clobber",
+       "--repo", github_repository,
+       "--pattern", archive_name_no_rc)
+    mv(archive_name_no_rc, @archive_name)
   end
 
   def download_released_archive
diff --git a/docs/source/developers/release.rst 
b/docs/source/developers/release.rst
index c5efc5f30f..0ec81c1e6c 100644
--- a/docs/source/developers/release.rst
+++ b/docs/source/developers/release.rst
@@ -246,7 +246,8 @@ Build source and binaries and submit them
     archery crossbow status <crossbow-build-id>
 
     # Download the produced binaries
-    # This will download packages to a directory called 
packages/release-<version>-rc<rc-number>
+    # This will download packages generated from the archery tasks
+    # to a directory called packages/release-<version>-rc<rc-number>
     dev/release/04-binary-download.sh <version> <rc-number>
 
     # Sign and upload the binaries
@@ -263,11 +264,14 @@ Build source and binaries and submit them
     # NOTE: You need to have GitHub CLI installed to run this script.
     dev/release/06-matlab-upload.sh <version> <rc-number>
 
+    # Move the Release Candidate GitHub Release from draft to published state
+    # This will update the artifacts download URL which will be available for 
the
+    # verification step.
+    dev/release/07-publish-gh-release.sh <version> <rc-number>
+
     # Start verifications for binaries and wheels
-    dev/release/07-binary-verify.sh <version> <rc-number>
+    dev/release/08-binary-verify.sh <version> <rc-number>
 
-    # Move the Release Candidate GitHub Release from draft to published state
-    dev/release/08-publish-gh-release.sh <version> <rc-number>
 
 Verify the Release
 ------------------

Reply via email to