5
5
# MACROS
6
6
# ======
7
7
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
+
8
14
# macro to print a line of equals
9
15
# # (silly but works)
10
16
printSeparationLine () {
@@ -71,15 +77,15 @@ printDH() {
71
77
72
78
AVAILABLE_INITIAL=$( getAvailableSpace)
73
79
AVAILABLE_ROOT_INITIAL=$( getAvailableSpace ' /' )
80
+ setup_rmz
74
81
75
82
printDH " BEFORE CLEAN-UP:"
76
83
echo " "
77
84
78
-
79
85
# Remove Android library
80
86
BEFORE=$( getAvailableSpace)
81
87
82
- sudo rm -rf /usr/local/lib/android || true
88
+ sudo rmz -f /usr/local/lib/android || true
83
89
84
90
AFTER=$( getAvailableSpace)
85
91
SAVED=$(( AFTER- BEFORE))
@@ -90,7 +96,7 @@ printSavedSpace $SAVED "Android library"
90
96
BEFORE=$( getAvailableSpace)
91
97
92
98
# 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
94
100
95
101
AFTER=$( getAvailableSpace)
96
102
SAVED=$(( AFTER- BEFORE))
@@ -99,8 +105,8 @@ printSavedSpace $SAVED ".NET runtime"
99
105
# Remove Haskell runtime
100
106
BEFORE=$( getAvailableSpace)
101
107
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
104
110
105
111
AFTER=$( getAvailableSpace)
106
112
SAVED=$(( AFTER- BEFORE))
@@ -111,18 +117,18 @@ printSavedSpace $SAVED "Haskell runtime"
111
117
112
118
BEFORE=$( getAvailableSpace)
113
119
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..."
126
132
sudo apt-get clean || echo " ::warning::The command [sudo apt-get clean] failed to complete successfully. Proceeding..."
127
133
128
134
AFTER=$( getAvailableSpace)
@@ -144,7 +150,7 @@ printSavedSpace $SAVED "Docker images"
144
150
145
151
BEFORE=$( getAvailableSpace)
146
152
147
- sudo rm -rf " $AGENT_TOOLSDIRECTORY " || true
153
+ sudo rmz -f " $AGENT_TOOLSDIRECTORY " || true
148
154
149
155
AFTER=$( getAvailableSpace)
150
156
SAVED=$(( AFTER- BEFORE))
@@ -155,7 +161,7 @@ printSavedSpace $SAVED "Tool cache"
155
161
BEFORE=$( getAvailableSpace)
156
162
157
163
sudo swapoff -a || true
158
- sudo rm -f /mnt/swapfile || true
164
+ sudo rmz -f /mnt/swapfile || true
159
165
free -h
160
166
161
167
AFTER=$( getAvailableSpace)
0 commit comments