clean_space.sh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. # clean_space.sh - Aggressive disk cleanup for CI runners or local use
  3. # Usage: bash clean_space.sh
  4. set -e
  5. # Remove Android SDKs and packages
  6. echo "Removing Android SDKs and packages..."
  7. sudo rm -rf /usr/local/lib/android /opt/android /usr/local/android-sdk /home/runner/Android || true
  8. ANDROID_PKGS=$(dpkg -l | grep -E "^ii.*(android|adb)" | awk '{print $2}' | tr '\n' ' ')
  9. if [ -n "$ANDROID_PKGS" ]; then
  10. sudo apt-get remove -y $ANDROID_PKGS || true
  11. sudo apt-get autoremove -y || true
  12. sudo apt-get clean || true
  13. fi
  14. # Remove .NET SDKs and packages
  15. echo "Removing .NET SDKs and packages..."
  16. sudo rm -rf /usr/share/dotnet /usr/share/doc/dotnet-* || true
  17. DOTNET_PKGS=$(dpkg -l | grep -E "^ii.*dotnet" | awk '{print $2}' | tr '\n' ' ')
  18. if [ -n "$DOTNET_PKGS" ]; then
  19. sudo apt-get remove -y $DOTNET_PKGS || true
  20. sudo apt-get autoremove -y || true
  21. sudo apt-get clean || true
  22. fi
  23. # Remove Haskell SDKs and packages
  24. echo "Removing Haskell SDKs and packages..."
  25. sudo rm -rf /opt/ghc /usr/local/.ghcup /opt/cabal /home/runner/.ghcup /home/runner/.cabal || true
  26. HASKELL_PKGS=$(dpkg -l | grep -E "^ii.*(ghc|haskell|cabal)" | awk '{print $2}' | tr '\n' ' ')
  27. if [ -n "$HASKELL_PKGS" ]; then
  28. sudo apt-get remove -y $HASKELL_PKGS || true
  29. sudo apt-get autoremove -y || true
  30. sudo apt-get clean || true
  31. fi
  32. # Remove tool cache (set AGENT_TOOLSDIRECTORY if needed)
  33. if [ -n "$AGENT_TOOLSDIRECTORY" ]; then
  34. echo "Removing tool cache at $AGENT_TOOLSDIRECTORY..."
  35. sudo rm -rf "$AGENT_TOOLSDIRECTORY" || true
  36. fi
  37. # Remove swap storage
  38. echo "Removing swap storage..."
  39. sudo swapoff -a || true
  40. sudo rm -f /mnt/swapfile || true
  41. # Remove extra large folders (add your own as needed)
  42. # Example: sudo rm -rf /path/to/large/folder
  43. # Done
  44. echo "Disk cleanup complete."