Skip to content

Commit bbf9343

Browse files
committed
Speed up
1 parent de0761b commit bbf9343

File tree

1 file changed

+25
-19
lines changed

1 file changed

+25
-19
lines changed

src/ci/scripts/free-disk-space.sh

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@
55
# MACROS
66
# ======
77

8+
setup_rmz() {
9+
curl -fsSL --tlsv1.2 --proto '=https' https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash > /dev/null 2>&1
10+
cargo binstall -qy rmz
11+
ln -s ~/.cargo/bin/rmz /usr/local/bin/rmz
12+
}
13+
814
# macro to print a line of equals
915
# # (silly but works)
1016
printSeparationLine() {
@@ -71,15 +77,15 @@ printDH() {
7177

7278
AVAILABLE_INITIAL=$(getAvailableSpace)
7379
AVAILABLE_ROOT_INITIAL=$(getAvailableSpace '/')
80+
setup_rmz
7481

7582
printDH "BEFORE CLEAN-UP:"
7683
echo ""
7784

78-
7985
# Remove Android library
8086
BEFORE=$(getAvailableSpace)
8187

82-
sudo rm -rf /usr/local/lib/android || true
88+
sudo rmz -f /usr/local/lib/android || true
8389

8490
AFTER=$(getAvailableSpace)
8591
SAVED=$((AFTER-BEFORE))
@@ -90,7 +96,7 @@ printSavedSpace $SAVED "Android library"
9096
BEFORE=$(getAvailableSpace)
9197

9298
# https://github.community/t/bigger-github-hosted-runners-disk-space/17267/11
93-
sudo rm -rf /usr/share/dotnet || true
99+
sudo rmz -f /usr/share/dotnet || true
94100

95101
AFTER=$(getAvailableSpace)
96102
SAVED=$((AFTER-BEFORE))
@@ -99,8 +105,8 @@ printSavedSpace $SAVED ".NET runtime"
99105
# Remove Haskell runtime
100106
BEFORE=$(getAvailableSpace)
101107

102-
sudo rm -rf /opt/ghc || true
103-
sudo rm -rf /usr/local/.ghcup || true
108+
sudo rmz -f /opt/ghc || true
109+
sudo rmz -f /usr/local/.ghcup || true
104110

105111
AFTER=$(getAvailableSpace)
106112
SAVED=$((AFTER-BEFORE))
@@ -111,18 +117,18 @@ printSavedSpace $SAVED "Haskell runtime"
111117

112118
BEFORE=$(getAvailableSpace)
113119

114-
sudo apt-get remove -y '^aspnetcore-.*' || echo "::warning::The command [sudo apt-get remove -y '^aspnetcore-.*'] failed to complete successfully. Proceeding..."
115-
sudo apt-get remove -y '^dotnet-.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y '^dotnet-.*' --fix-missing] failed to complete successfully. Proceeding..."
116-
sudo apt-get remove -y '^llvm-.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y '^llvm-.*' --fix-missing] failed to complete successfully. Proceeding..."
117-
sudo apt-get remove -y 'php.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y 'php.*' --fix-missing] failed to complete successfully. Proceeding..."
118-
sudo apt-get remove -y '^mongodb-.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y '^mongodb-.*' --fix-missing] failed to complete successfully. Proceeding..."
119-
sudo apt-get remove -y '^mysql-.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y '^mysql-.*' --fix-missing] failed to complete successfully. Proceeding..."
120-
sudo apt-get remove -y azure-cli google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri --fix-missing || echo "::warning::The command [sudo apt-get remove -y azure-cli google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri --fix-missing] failed to complete successfully. Proceeding..."
121-
sudo apt-get remove -y google-cloud-sdk --fix-missing || echo "::debug::The command [sudo apt-get remove -y google-cloud-sdk --fix-missing] failed to complete successfully. Proceeding..."
122-
sudo apt-get remove -y google-cloud-cli --fix-missing || echo "::debug::The command [sudo apt-get remove -y google-cloud-cli --fix-missing] failed to complete successfully. Proceeding..."
123-
sudo apt-get remove -y microsoft-edge-stable --fix-missing || echo "::debug::The command [sudo apt-get remove -y microsoft-edge-stable --fix-missing] failed to complete successfully. Proceeding..."
124-
sudo apt-get remove -y snapd --fix-missing || echo "::debug::The command [sudo apt-get remove -y snapd --fix-missing] failed to complete successfully. Proceeding..."
125-
sudo apt-get autoremove -y || echo "::warning::The command [sudo apt-get autoremove -y] failed to complete successfully. Proceeding..."
120+
pkgs=$(list_installed_dpkg 'aspnetcore-*' 'dotnet-*' 'llvm-*' '*php*' 'mongodb-*' 'mysql-*' azure-cli google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri 'google-cloud-*' 'gcloud-*' || true)
121+
122+
gcloud_prerm='#!/bin/sh
123+
echo $0
124+
if [ -d "/usr/lib/google-cloud-sdk" ]; then
125+
sudo rmz -f /usr/lib/google-cloud-sdk
126+
fi'
127+
128+
echo "$gcloud_prerm" | sudo tee /var/lib/dpkg/info/google-cloud-cli-anthoscli.prerm >/dev/null
129+
echo "$gcloud_prerm" | sudo tee /var/lib/dpkg/info/google-cloud-cli.prerm >/dev/null
130+
131+
sudo apt-get remove --autoremove -y $pkgs || echo "::warning::The command [sudo apt-get remove -y] failed to complete successfully. Proceeding..."
126132
sudo apt-get clean || echo "::warning::The command [sudo apt-get clean] failed to complete successfully. Proceeding..."
127133

128134
AFTER=$(getAvailableSpace)
@@ -144,7 +150,7 @@ printSavedSpace $SAVED "Docker images"
144150

145151
BEFORE=$(getAvailableSpace)
146152

147-
sudo rm -rf "$AGENT_TOOLSDIRECTORY" || true
153+
sudo rmz -f "$AGENT_TOOLSDIRECTORY" || true
148154

149155
AFTER=$(getAvailableSpace)
150156
SAVED=$((AFTER-BEFORE))
@@ -155,7 +161,7 @@ printSavedSpace $SAVED "Tool cache"
155161
BEFORE=$(getAvailableSpace)
156162

157163
sudo swapoff -a || true
158-
sudo rm -f /mnt/swapfile || true
164+
sudo rmz -f /mnt/swapfile || true
159165
free -h
160166

161167
AFTER=$(getAvailableSpace)

0 commit comments

Comments
 (0)