This is an automated email from the ASF dual-hosted git repository.
shahar1 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 9216bd8c464 Skip the CI disk cleanup when the runner already has room
(#73635)
9216bd8c464 is described below
commit 9216bd8c464dd374316cd5f7cab5f450c042c276
Author: Andrew Chang <[email protected]>
AuthorDate: Thu Sep 24 13:59:27 2026 +0800
Skip the CI disk cleanup when the runner already has room (#73635)
Every job that calls prepare_breeze_and_image runs
scripts/tools/free_up_disk_space.sh before it can start work, deleting about
29 GiB of pre-installed tooling from a runner that already has 86 GiB free.
Across 40 pull request runs of ci-amd.yml that is about 30 jobs per run, a
median of two minutes each and 135 minutes per full-matrix run, all of it
ahead of any work.
Give the existing min-free-space-gb threshold a default so the removal only
runs when the disk is tight, and drop the explicit value the docs build
passed. The threshold has to sit above the heaviest measured footprint of a
job that prepares an image and below what a runner starts with: a full CI
image build peaks at 24 GiB, runners begin with 86 GiB free on ubuntu-22.04
and 110 GiB on ubuntu-22.04-arm.
The seven hand-placed free_up_disk_space.sh calls in the workflows stay
unconditional. Four of them were added for a job that had run out of disk
(#45322, #56115, #56198, #61825) and none of those jobs reports its disk use
past its setup steps, so there is nothing to base a threshold on yet.
---
.github/actions/prepare_breeze_and_image/action.yml | 11 ++++++-----
.github/workflows/ci-image-checks.yml | 3 ---
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/.github/actions/prepare_breeze_and_image/action.yml
b/.github/actions/prepare_breeze_and_image/action.yml
index a2f422c7181..6c91e28bff8 100644
--- a/.github/actions/prepare_breeze_and_image/action.yml
+++ b/.github/actions/prepare_breeze_and_image/action.yml
@@ -36,12 +36,13 @@ inputs:
required: true
min-free-space-gb:
description: >
- Skip removing the runner's unused pre-installed tooling (close to three
minutes) when the root
- filesystem already has at least this many GB free. Empty means always
remove it. Runners are
- not uniform, so a job whose footprint is only the CI image (docs build)
passes a threshold
- rather than skipping unconditionally.
+ Skip removing the runner's unused pre-installed tooling when the root
filesystem already has
+ at least this many GB free, in the units df --block-size=1G reports.
Empty always removes.
+ The default clears today's runners (86 free on ubuntu-22.04, 110 on
ubuntu-22.04-arm) with
+ room over the heaviest measured footprint of a job that prepares an
image, 24 for a full CI
+ image build, so a runner shipping less free space brings the removal
back on its own.
required: false
- default: ""
+ default: "60"
image-stash-ref:
description: >
Ref whose image stash to restore (empty = the per-branch one). An image
built for a ref
diff --git a/.github/workflows/ci-image-checks.yml
b/.github/workflows/ci-image-checks.yml
index 768f7e37f3f..db0c730ebd6 100644
--- a/.github/workflows/ci-image-checks.yml
+++ b/.github/workflows/ci-image-checks.yml
@@ -204,9 +204,6 @@ jobs:
python: "${{ inputs.default-python-version }}"
use-uv: ${{ inputs.use-uv }}
make-mnt-writeable-and-cleanup: true
- # The docs build needs ~25 GB (image tar, loaded image, built docs);
runners usually
- # start with ~90 GB free, in which case the 3-minute cleanup is
skipped.
- min-free-space-gb: 40
- name: "Restore docs inventory cache"
# yamllint disable-line rule:line-length
uses:
apache/infrastructure-actions/stash/restore@61dcea11f19e2bbe1263f14d72235e8da17d3ad0
# restore/v1.0.0