action.yml 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. name: 'Disk Cleanup'
  2. description: 'Free up disk space by moving large unnecessary directories to a temporary location and deleting them in the background.'
  3. runs:
  4. using: 'composite'
  5. steps:
  6. - name: Disk Cleanup by Deleting files
  7. shell: bash
  8. run: |
  9. # Disk Cleanup by Deleting files
  10. echo "::group::Disk Cleanup by Deleting files"
  11. echo "Instant relocation of unnecessary software..."
  12. mkdir -p .background_trash/{1..18}
  13. safe_mv() {
  14. if [ -e "$1" ]; then
  15. sudo mv "$1" "$2"
  16. fi
  17. }
  18. export -f safe_mv
  19. safe_mv /usr/share/dotnet ./.background_trash/1 &
  20. safe_mv /usr/local/lib/android ./.background_trash/2 &
  21. safe_mv /opt/ghc ./.background_trash/3 &
  22. safe_mv /opt/hostedtoolcache/CodeQL ./.background_trash/4 &
  23. safe_mv /usr/local/aws-sam-cli ./.background_trash/5 &
  24. safe_mv /usr/local/share/chromium ./.background_trash/6 &
  25. safe_mv /usr/local/share/powershell ./.background_trash/7 &
  26. safe_mv /usr/local/lib/heroku ./.background_trash/8 &
  27. safe_mv /usr/local/lib/node_modules ./.background_trash/9 &
  28. safe_mv /opt/az ./.background_trash/10 &
  29. safe_mv /opt/microsoft/powershell ./.background_trash/11 &
  30. safe_mv /opt/hostedtoolcache/go ./.background_trash/12 &
  31. safe_mv /opt/hostedtoolcache/PyPy ./.background_trash/13 &
  32. safe_mv /opt/hostedtoolcache/node ./.background_trash/14 &
  33. sudo bash -c 'mv /usr/local/bin/aliyun /usr/local/bin/azcopy /usr/local/bin/bicep /usr/local/bin/cmake-gui /usr/local/bin/cpack /usr/local/bin/helm \
  34. /usr/local/bin/hub /usr/local/bin/kubectl /usr/local/bin/minikube /usr/local/bin/node /usr/local/bin/packer /usr/local/bin/sam \
  35. /usr/local/bin/stack /usr/local/bin/terraform /usr/local/bin/oc ./.background_trash/15 2>/dev/null || true' &
  36. sudo bash -c 'mv /usr/local/julia* ./.background_trash/16 2>/dev/null || true' &
  37. sudo bash -c 'mv /usr/local/bin/pulumi* ./.background_trash/17 2>/dev/null || true' &
  38. wait
  39. echo "Relocation complete."
  40. echo "Launching background purge..."
  41. (
  42. sudo nice -n 19 ionice -c 3 rm -rf ./.background_trash
  43. sudo apt-get purge -y firefox google-chrome-stable microsoft-edge-stable > /dev/null 2>&1 || true
  44. sudo apt-get autoremove -y > /dev/null 2>&1 || true
  45. sudo apt-get clean > /dev/null 2>&1 || true
  46. if command -v docker >/dev/null 2>&1; then
  47. docker rmi $(docker images -q) 2>/dev/null || true
  48. fi
  49. ) > /dev/null 2>&1 &
  50. disown
  51. echo "::endgroup::"