1#!/bin/bash 2# SPDX-License-Identifier: Apache-2.0 3# 4# This helper script is used in CI to free disk space on the runner 5# 6echo "Disk usage before cleanup:" 7df -h 8 9echo "Removing unnecessary packages" 10packages=( 11google-chrome-stable microsoft-edge-stable firefox 12azure-cli google-cloud-cli kubectl podman skopeo buildah snapd 13temurin-8-jdk temurin-11-jdk temurin-17-jdk temurin-21-jdk 14dotnet-sdk-8.0 dotnet-runtime-8.0 aspnetcore-runtime-8.0 15aspnetcore-targeting-pack-8.0 netstandard-targeting-pack-2.1-8.0 16dotnet-targeting-pack-8.0 17llvm-16-dev llvm-17-dev llvm-18-dev 18clang-tools-16 clang-tools-17 clang-tools-18 19clang-tidy-16 clang-tidy-17 clang-tidy-18 20) 21for pkg in "${packages[@]}"; do 22 echo -n "$pkg is " 23 if dpkg-query -W -f='${Package}\n' $pkg 2>/dev/null | grep -q .; then 24 to_remove="$to_remove $pkg" 25 found=1 26 else 27 echo -n "not " 28 fi 29 echo "installed" 30done 31if [ "$found" ]; then 32 sudo apt-get remove -y --purge --allow-change-held-packages \ 33 --allow-remove-essential --no-install-recommends \ 34 $to_remove || true 35fi 36sudo apt-get autoremove -y || true 37sudo apt-get clean || true 38 39echo "Removing more unnecessary files" 40sudo rm -rf /usr/local/lib/android /usr/share/dotnet /opt/hostedtoolcache 41 42echo "Disk usage after cleanup:" 43df -h 44