Skip to content

Commit 9188e69

Browse files
committed
ci: refactor how directories are removed in free-disk-space disk
1 parent ccc9ba5 commit 9188e69

File tree

1 file changed

+26
-13
lines changed

1 file changed

+26
-13
lines changed

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

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/bin/bash
2+
set -euo pipefail
23

34
# Free disk space on Linux GitHub action runners
45
# Script inspired by https://github.com/jlumbroso/free-disk-space
@@ -58,11 +59,28 @@ removeDir() {
5859
dir=${1}
5960

6061
local before
61-
before=$(getAvailableSpace)
62+
if [ ! -d "$dir" ]; then
63+
echo "::warning::Directory $dir does not exist, skipping."
64+
else
65+
before=$(getAvailableSpace)
66+
sudo rm -rf "$dir"
67+
printSavedSpace "$before" "Removed $dir"
68+
fi
69+
}
70+
71+
removeUnusedDirectories() {
72+
local dirs_to_remove=(
73+
"/usr/local/lib/android"
74+
"/usr/share/dotnet"
6275

63-
sudo rm -rf "$dir" || true
76+
# Haskell runtime
77+
"/opt/ghc"
78+
"/usr/local/.ghcup"
79+
)
6480

65-
printSavedSpace "$before" "$dir"
81+
for dir in "${dirs_to_remove[@]}"; do
82+
removeDir "$dir"
83+
done
6684
}
6785

6886
execAndMeasureSpaceChange() {
@@ -101,9 +119,9 @@ cleanPackages() {
101119

102120
# Remove Docker images
103121
cleanDocker() {
104-
echo "Removing the following docker images:"
122+
echo "=> Removing the following docker images:"
105123
sudo docker image ls
106-
echo "Removing docker images..."
124+
echo "=> Removing docker images..."
107125
sudo docker image prune --all --force || true
108126
}
109127

@@ -121,17 +139,12 @@ AVAILABLE_INITIAL=$(getAvailableSpace)
121139
printDF "BEFORE CLEAN-UP:"
122140
echo ""
123141

124-
removeDir /usr/local/lib/android
125-
removeDir /usr/share/dotnet
126-
127-
# Haskell runtime
128-
removeDir /opt/ghc
129-
removeDir /usr/local/.ghcup
130-
131-
execAndMeasureSpaceChange cleanPackages "Large misc. packages"
142+
execAndMeasureSpaceChange cleanPackages "Unused packages"
132143
execAndMeasureSpaceChange cleanDocker "Docker images"
133144
execAndMeasureSpaceChange cleanSwap "Swap storage"
134145

146+
removeUnusedDirectories
147+
135148
# Output saved space statistic
136149
echo ""
137150
printDF "AFTER CLEAN-UP:"

0 commit comments

Comments
 (0)