-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CI: Free up space on the github runner by deleting some tools we don'…
…t use (#32350) Currently this deletes .NET tooling and parts of the Android SDK. Note that our Android CI builds bring their own Android SDK via the chip-build-android container, and do not rely on the copy that is installed in the GitHub Ubuntu image.
- Loading branch information
1 parent
c8fa478
commit 8d9a6ce
Showing
5 changed files
with
59 additions
and
0 deletions.
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
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,50 @@ | ||
name: Maximize runner disk | ||
description: Free up disk space on the github runner | ||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Free up disk space on the github runner | ||
if: ${{ !env.ACT }} | ||
shell: bash | ||
run: | | ||
# maximize-runner-disk | ||
if [[ "$RUNNER_OS" == Linux ]]; then | ||
# Directories to prune to free up space. Candidates: | ||
# 1.6G /usr/share/dotnet | ||
# 1.1G /usr/local/lib/android/sdk/platforms | ||
# 1000M /usr/local/lib/android/sdk/build-tools | ||
# 8.9G /usr/local/lib/android/sdk | ||
# This list can be amended later to change the trade-off between the amount of | ||
# disk space freed up, and how long it takes to do so (deleting many files is slow). | ||
prune=(/usr/share/dotnet /usr/local/lib/android/sdk/platforms /usr/local/lib/android/sdk/build-tools) | ||
if [[ "$UID" -eq 0 && -d /__w ]]; then | ||
root=/runner-root-volume | ||
if [[ ! -d "$root" ]]; then | ||
echo "Unable to maximize disk space, job is running inside a container and $root is not mounted" | ||
exit 0 | ||
fi | ||
function sudo() { "$@"; } # we're already root (and sudo is probably unavailable) | ||
elif [[ "$UID" -ne 0 && "$RUNNER_ENVIRONMENT" == github-hosted ]]; then | ||
root= | ||
else | ||
echo "Unable to maximize disk space, unknown runner environment" | ||
exit 0 | ||
fi | ||
echo "Freeing up runner disk space on ${root:-/}" | ||
function avail() { df -k --output=avail "${root:-/}" | grep '^[0-9]*$'; } | ||
function now() { date '+%s'; } | ||
before="$(avail)" start="$(now)" | ||
for dir in "${prune[@]}"; do | ||
if [[ -d "${root}${dir}" ]]; then | ||
echo "- $dir" | ||
# du -sh -- "${root}${dir}" | ||
sudo rm -rf -- "${root}${dir}" | ||
else | ||
echo "- $dir (not found)" | ||
fi | ||
done | ||
after="$(avail)" end="$(now)" | ||
echo "Done, freed up $(( (after - before) / 1024 ))M of disk space in $(( end - start )) seconds." | ||
fi |
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
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