diff --git a/.github/actions/terragrunt_apply/action.yaml b/.github/actions/terragrunt_apply/action.yaml index 35823ad..e4c5144 100644 --- a/.github/actions/terragrunt_apply/action.yaml +++ b/.github/actions/terragrunt_apply/action.yaml @@ -17,18 +17,40 @@ runs: steps: - name: Clean up disk space and create Terraform Download Directory run: | + echo "=== Pre-deployment disk space cleanup ===" + df -h + df -i + # Clean up disk space sudo rm -rf /tmp/* 2>/dev/null || true sudo rm -rf /var/tmp/* 2>/dev/null || true sudo rm -rf ~/.cache/* 2>/dev/null || true sudo rm -rf /home/runner/.cache/* 2>/dev/null || true + sudo rm -rf /home/runner/.terraform/* 2>/dev/null || true + sudo rm -rf /home/runner/.terragrunt-cache/* 2>/dev/null || true + sudo rm -rf /home/runner/.terraform.d/* 2>/dev/null || true + sudo rm -rf /usr/local/share/terraform/* 2>/dev/null || true + sudo rm -rf /usr/local/lib/terraform/* 2>/dev/null || true + + # Remove additional caches + sudo rm -rf /home/runner/.npm/* 2>/dev/null || true + sudo rm -rf /home/runner/.yarn/* 2>/dev/null || true + sudo rm -rf /home/runner/.dotnet/* 2>/dev/null || true + sudo rm -rf /home/runner/.nuget/* 2>/dev/null || true + sudo rm -rf /home/runner/.local/* 2>/dev/null || true + sudo rm -rf /home/runner/.config/* 2>/dev/null || true # Clean up old terragrunt downloads rm -rf ${{ inputs.terragrunt_download_directory }}/* --force 2>/dev/null || true mkdir --parents ${{ inputs.terragrunt_download_directory }} - # Show available disk space + # Force garbage collection + sudo sync + sudo echo 3 > /proc/sys/vm/drop_caches 2>/dev/null || true + + echo "=== Disk space after cleanup ===" df -h + df -i working-directory: ${{ inputs.working_directory }} shell: bash - name: Terragrunt Apply @@ -38,13 +60,25 @@ runs: shell: bash - name: Clean up after deployment run: | + echo "=== Post-deployment cleanup ===" # Clean up terragrunt cache and temporary files rm -rf ${{ inputs.terragrunt_download_directory }}/* --force 2>/dev/null || true rm -rf .terraform/* --force 2>/dev/null || true rm -rf .terragrunt-cache/* --force 2>/dev/null || true - # Show final disk space + # Additional cleanup + sudo rm -rf /tmp/* 2>/dev/null || true + sudo rm -rf /var/tmp/* 2>/dev/null || true + sudo rm -rf ~/.cache/* 2>/dev/null || true + sudo rm -rf /home/runner/.cache/* 2>/dev/null || true + + # Force garbage collection + sudo sync + sudo echo 3 > /proc/sys/vm/drop_caches 2>/dev/null || true + + echo "=== Final disk space ===" df -h + df -i working-directory: ${{ inputs.working_directory }} shell: bash - name: Notify about failures