This is an automated email from the ASF dual-hosted git repository.
HyukjinKwon pushed a commit to branch branch-4.3
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/branch-4.3 by this push:
new 4802fb6fae55 [SPARK-60568][INFRA] Use master branch's
`free_disk_space` script for release builds
4802fb6fae55 is described below
commit 4802fb6fae55d1be5215a1c69c24f74043f28e08
Author: Hyukjin Kwon <[email protected]>
AuthorDate: Mon Oct 26 16:07:54 2026 -0700
[SPARK-60568][INFRA] Use master branch's `free_disk_space` script for
release builds
### What changes were proposed in this pull request?
This PR makes the release workflow (`.github/workflows/release.yml`) always
run master's `dev/free_disk_space` instead of the copy in the branch being
released, as SPARK-55115 did for `Dockerfile.base`. The previous step already
fetches `origin/master`, so the step now checks out master's script and runs it.
### Why are the changes needed?
The `ubuntu-latest` label started migrating to Ubuntu 26.04 on October 19
(https://github.com/actions/runner-images/issues/14748), and `apt-get` there
can no longer locate the `powershell` package. Master's script tolerates this
since SPARK-58934, which landed only in `master` and `branch-4.x`. The copies
in `branch-4.1`, `branch-4.2` and `branch-4.3` still run the following under
`set -e`, and the release workflow has no `continue-on-error` on that step:
```
sudo apt-get remove --purge -y azure-cli google-cloud-sdk mono-devel
powershell libgl1-mesa-dri
```
So releasing these branches fails before the release starts, e.g., a
`branch-4.3` run in
https://github.com/HeartSaVioR/spark/actions/runs/40288893806/job/121589366145:
```
+ sudo apt-get remove --purge -y azure-cli google-cloud-sdk mono-devel
powershell libgl1-mesa-dri
E: Unable to locate package powershell
Package 'google-cloud-sdk' is not installed, so not removed
##[error]Process completed with exit code 100.
```
The script only prepares the GitHub runner, which is the same
`ubuntu-latest` for every branch released, so it should come from master, which
is maintained against the current image. Backporting SPARK-58934 would also fix
this one case, but the release branches' copies would break again on the next
image change. Master's script already works on Ubuntu 26.04: the scheduled dry
run in `apache/spark` hits the same `Unable to locate package powershell`,
tolerates it, and passes, e.g., htt [...]
This does not affect release artifacts: the release builds from a fresh
clone inside Docker, and only `dev/free_disk_space` is taken from master.
### Does this PR introduce _any_ user-facing change?
No, dev-only.
### How was this patch tested?
Dispatched this workflow from this branch in my fork as a `branch-4.3` dry
run: https://github.com/HyukjinKwon/spark/actions/runs/40416194036. The "Free
up disk space" step, which fails in the run above, passed. The rest of the dry
run was still running when this PR was opened.
Also ran the workflow's git steps on a fresh shallow `branch-4.3` checkout
to confirm the checked-out `dev/free_disk_space` is executable and identical to
master's.
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Opus 5.5)
This pull request and its description were written by Isaac.
Closes #59807 from HyukjinKwon/SPARK-60568-release-master-free-disk-space.
Authored-by: Hyukjin Kwon <[email protected]>
Signed-off-by: Hyukjin Kwon <[email protected]>
(cherry picked from commit a2f5edbe297e704169d267c92f289a8cb805f353)
Signed-off-by: Hyukjin Kwon <[email protected]>
---
.github/workflows/release.yml | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 6adbbdee7e87..ecb4e1ee774b 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -127,10 +127,11 @@ jobs:
git checkout origin/master --
dev/create-release/spark-rm/Dockerfile.base
echo "Using master branch's Dockerfile.base for building release
image"
- name: Free up disk space
+ # Always use master's script, which is maintained against the current
runner image.
+ # Old branch scripts may fail on newer images (e.g., packages missing
from apt sources).
run: |
- if [ -f ./dev/free_disk_space ]; then
- ./dev/free_disk_space
- fi
+ git checkout origin/master -- dev/free_disk_space
+ ./dev/free_disk_space
- name: Release Apache Spark
env:
GIT_BRANCH: "${{ inputs.branch }}"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]