diff --git a/.gitea/workflows/emergency-disk-cleanup.yml b/.gitea/workflows/emergency-disk-cleanup.yml new file mode 100644 index 000000000..fa17e6dff --- /dev/null +++ b/.gitea/workflows/emergency-disk-cleanup.yml @@ -0,0 +1,49 @@ +name: Emergency Disk Cleanup + +on: + push: + branches: + - emergency-disk-cleanup + +jobs: + cleanup: + name: Clean up disk space on runner + runs-on: ci-l2 + steps: + - name: Check disk space before + run: | + echo "=== Disk space BEFORE cleanup ===" + df -h + echo "" + echo "=== Docker disk usage ===" + docker system df + echo "" + echo "=== Largest docker volumes ===" + docker system df -v 2>/dev/null | head -50 || true + + - name: Prune docker images + run: | + echo "=== Pruning unused images ===" + docker image prune -af + echo "" + echo "=== Pruning build cache ===" + docker builder prune -af + echo "" + echo "=== Pruning stopped containers ===" + docker container prune -f + + - name: Cleanup docker volumes (safe ones) + run: | + echo "=== All volumes ===" + docker volume ls + echo "" + echo "=== Pruning anonymous volumes (not named ones) ===" + docker volume prune -f 2>/dev/null || echo "volume prune skipped" + + - name: Check disk space after + run: | + echo "=== Disk space AFTER cleanup ===" + df -h + echo "" + echo "=== Docker disk usage ===" + docker system df