tests: k8s: kata-deploy: Remove unnecessary dirs to free up space

This is following Steve's suggestion, based on what's been done on
cloud-api-adaptor ... however, we're basically copying the following
actions: https://github.com/endersonmenezes/free-disk-space

I'm doing this as kata-containers repo doesn't allow to use third-party
actions.

The action is licensed as MIT, which is compatible with our Apache
licene, allowing us to do the copy without issues.

Signed-off-by: Fabiano Fidêncio <fabiano@fidencio.org>
This commit is contained in:
Fabiano Fidêncio
2025-09-08 17:06:31 +02:00
parent 4cb999ce93
commit 9b88192bb9
2 changed files with 158 additions and 0 deletions

View File

@@ -72,6 +72,85 @@ jobs:
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Free Disk Space
run: |
echo "Removing Android Folder"
# Remove Android SDK directories (common locations)
sudo rm -rf /usr/local/lib/android || true
sudo rm -rf /opt/android || true
sudo rm -rf /usr/local/android-sdk || true
sudo rm -rf /home/runner/Android || true
# Remove Android packages if they exist
ANDROID_PACKAGES=$(dpkg -l | grep -E "^ii.*(android|adb)" | awk '{print $2}' | tr '\n' ' ' || true)
if [[ -n "${ANDROID_PACKAGES}" ]]; then
echo "Removing Android packages: ${ANDROID_PACKAGES}"
sudo apt-get remove -y "${ANDROID_PACKAGES}" --fix-missing > /dev/null 2>&1 || true
sudo apt-get autoremove -y > /dev/null 2>&1 || true
sudo apt-get clean > /dev/null 2>&1 || true
fi
echo "-"
echo "Removing .NET Folder"
# Remove .NET installation directories
sudo rm -rf /usr/share/dotnet || true
# Remove .NET documentation directories
sudo rm -rf /usr/share/doc/dotnet-* || true
# Remove .NET packages if they exist
DOTNET_PACKAGES=$(dpkg -l | grep -E "^ii.*dotnet" | awk '{print $2}' | tr '\n' ' ' || true)
if [[ -n "${DOTNET_PACKAGES}" ]]; then
echo "Removing .NET packages: ${DOTNET_PACKAGES}"
sudo apt-get remove -y "${DOTNET_PACKAGES}" --fix-missing > /dev/null 2>&1 || true
sudo apt-get autoremove -y > /dev/null 2>&1 || true
sudo apt-get clean > /dev/null 2>&1 || true
fi
echo "-"
echo "Removing Haskell Folder"
# Remove Haskell directories
sudo rm -rf /opt/ghc || true
sudo rm -rf /usr/local/.ghcup || true
sudo rm -rf /opt/cabal || true
sudo rm -rf /home/runner/.ghcup || true
sudo rm -rf /home/runner/.cabal || true
# Remove Haskell packages if they exist
HASKELL_PACKAGES=$(dpkg -l | grep -E "^ii.*(ghc|haskell|cabal)" | awk '{print $2}' | tr '\n' ' ' || true)
if [[ -n "${HASKELL_PACKAGES}" ]]; then
echo "Removing Haskell packages: ${HASKELL_PACKAGES}"
sudo apt-get remove -y "${HASKELL_PACKAGES}" --fix-missing > /dev/null 2>&1 || true
sudo apt-get autoremove -y > /dev/null 2>&1 || true
sudo apt-get clean > /dev/null 2>&1 || true
fi
echo "-"
echo "Removing Tool Cache"
sudo rm -rf "${AGENT_TOOLSDIRECTORY}" || true
echo "-"
echo "Removing Swap Storage"
sudo swapoff -a || true
sudo rm -f "/mnt/swapfile" || true
echo "Removed Swap Storage"
echo "-"
sudo apt-get remove -y azure-cli google-cloud-cli microsoft-edge-stable google-chrome-stable firefox postgresql* temurin-* *llvm* mysql* dotnet-sdk-* --fix-missing > /dev/null
sudo apt-get autoremove -y > /dev/null
sudo apt-get clean > /dev/null
sudo rm -rf /usr/share/swift
sudo rm -rf /usr/share/miniconda
sudo rm -rf /usr/share/az*
sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf /usr/local/share/chromium
sudo rm -rf /usr/local/share/powershell
sudo rm -rf /usr/local/julia
sudo rm -rf /usr/local/aws-cli
sudo rm -rf /usr/local/aws-sam-cli
sudo rm -rf /usr/share/gradle
- name: Configure CRI-O
if: matrix.container_runtime == 'crio'
run: bash tests/integration/kubernetes/gha-run.sh setup-crio

View File

@@ -58,6 +58,85 @@ jobs:
env:
TARGET_BRANCH: ${{ inputs.target-branch }}
- name: Free Disk Space
run: |
echo "Removing Android Folder"
# Remove Android SDK directories (common locations)
sudo rm -rf /usr/local/lib/android || true
sudo rm -rf /opt/android || true
sudo rm -rf /usr/local/android-sdk || true
sudo rm -rf /home/runner/Android || true
# Remove Android packages if they exist
ANDROID_PACKAGES=$(dpkg -l | grep -E "^ii.*(android|adb)" | awk '{print $2}' | tr '\n' ' ' || true)
if [[ -n "${ANDROID_PACKAGES}" ]]; then
echo "Removing Android packages: ${ANDROID_PACKAGES}"
sudo apt-get remove -y "${ANDROID_PACKAGES}" --fix-missing > /dev/null 2>&1 || true
sudo apt-get autoremove -y > /dev/null 2>&1 || true
sudo apt-get clean > /dev/null 2>&1 || true
fi
echo "-"
echo "Removing .NET Folder"
# Remove .NET installation directories
sudo rm -rf /usr/share/dotnet || true
# Remove .NET documentation directories
sudo rm -rf /usr/share/doc/dotnet-* || true
# Remove .NET packages if they exist
DOTNET_PACKAGES=$(dpkg -l | grep -E "^ii.*dotnet" | awk '{print $2}' | tr '\n' ' ' || true)
if [[ -n "${DOTNET_PACKAGES}" ]]; then
echo "Removing .NET packages: ${DOTNET_PACKAGES}"
sudo apt-get remove -y "${DOTNET_PACKAGES}" --fix-missing > /dev/null 2>&1 || true
sudo apt-get autoremove -y > /dev/null 2>&1 || true
sudo apt-get clean > /dev/null 2>&1 || true
fi
echo "-"
echo "Removing Haskell Folder"
# Remove Haskell directories
sudo rm -rf /opt/ghc || true
sudo rm -rf /usr/local/.ghcup || true
sudo rm -rf /opt/cabal || true
sudo rm -rf /home/runner/.ghcup || true
sudo rm -rf /home/runner/.cabal || true
# Remove Haskell packages if they exist
HASKELL_PACKAGES=$(dpkg -l | grep -E "^ii.*(ghc|haskell|cabal)" | awk '{print $2}' | tr '\n' ' ' || true)
if [[ -n "${HASKELL_PACKAGES}" ]]; then
echo "Removing Haskell packages: ${HASKELL_PACKAGES}"
sudo apt-get remove -y "${HASKELL_PACKAGES}" --fix-missing > /dev/null 2>&1 || true
sudo apt-get autoremove -y > /dev/null 2>&1 || true
sudo apt-get clean > /dev/null 2>&1 || true
fi
echo "-"
echo "Removing Tool Cache"
sudo rm -rf "${AGENT_TOOLSDIRECTORY}" || true
echo "-"
echo "Removing Swap Storage"
sudo swapoff -a || true
sudo rm -f "/mnt/swapfile" || true
echo "Removed Swap Storage"
echo "-"
sudo apt-get remove -y azure-cli google-cloud-cli microsoft-edge-stable google-chrome-stable firefox postgresql* temurin-* *llvm* mysql* dotnet-sdk-* --fix-missing > /dev/null
sudo apt-get autoremove -y > /dev/null
sudo apt-get clean > /dev/null
sudo rm -rf /usr/share/swift
sudo rm -rf /usr/share/miniconda
sudo rm -rf /usr/share/az*
sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf /usr/local/share/chromium
sudo rm -rf /usr/local/share/powershell
sudo rm -rf /usr/local/julia
sudo rm -rf /usr/local/aws-cli
sudo rm -rf /usr/local/aws-sam-cli
sudo rm -rf /usr/share/gradle
- name: Deploy ${{ matrix.k8s }}
run: bash tests/functional/kata-deploy/gha-run.sh deploy-k8s