Skip to content

[experiment] ci: try 1es-ubuntu-24.04-min for Linux jobs instead of disk cleanup - #893

Draft
Ahmed Muhsin (ahmedmuhsin) wants to merge 1 commit into
devfrom
ci/try-ubuntu-24-04-min
Draft

[experiment] ci: try 1es-ubuntu-24.04-min for Linux jobs instead of disk cleanup#893
Ahmed Muhsin (ahmedmuhsin) wants to merge 1 commit into
devfrom
ci/try-ubuntu-24-04-min

Conversation

@ahmedmuhsin

Copy link
Copy Markdown
Contributor

Experiment — not for merge as-is. Opened as a draft to get a CI signal.

What

Switch the two Linux CI jobs (emulated tests, docker integration tests) from 1es-ubuntu-22.04 to 1es-ubuntu-24.04-min, and drop the Free up disk space cleanup steps that #883 added. A df/du report step is kept so the run tells us the new image's baseline headroom.

Why

The 1es-ubuntu-22.04 image boots ~92% full on / (67G used of 73G), almost entirely from toolsets these jobs never touch — Android SDK and Haskell under /usr/local (~24G), pre-cached docker images (~12G), Swift/miniconda under /usr/share (~9.5G), CodeQL/PyPy in the tool cache (~6.7G). That left so little headroom that dotnet test filled the disk, the agent process aborted with exit 134, and ADO reported the job as canceled.

#883 worked around it by rm -rf-ing those toolsets at job start (/ 92% → 54%, ~28G freed), which has held: 17 of 18 nightly dev builds since have passed with zero cancellations.

That workaround is still deleting things out from under a hosted image, which is fragile — it silently breaks if paths move in a future image. If the -min image ships lean enough, we can drop the cleanup entirely and rely on the image instead.

What to look for

  1. Do the jobs still provision? -min images carry fewer preinstalled toolsets, so the likely failure mode is a missing dependency (Maven, preinstalled JDKs for JavaToolInstaller, docker, Python) rather than disk.
  2. The Report disk space step output — how much free space does -min actually start with?

If it provisions cleanly with comfortable headroom, the follow-up is to drop the cleanup steps for good. If it needs extra tool installs, we compare that cost against keeping the rm -rf.

Scope

CI only, Linux only. Untouched: the Windows jobs, java-version-check.yml, and the official run-e2e-tests-linux.yml — those stay on 1es-ubuntu-22.04 until this experiment reports back.

EXPERIMENT (do not merge as-is). The 1es-ubuntu-22.04 image boots ~92% full on /, which forced the 'Free up disk space' rm -rf/prune steps added in #883. Try the leaner 1es-ubuntu-24.04-min image instead and drop the cleanup, keeping a df/du report so we can see the new baseline headroom.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant