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