This is an automated email from the ASF dual-hosted git repository.

espino pushed a commit to branch main-debugging
in repository https://gitbox.apache.org/repos/asf/cloudberry.git

commit cdd55ff11e69bafefb2ab71d530e3672c205b147
Author: Ed Espino <[email protected]>
AuthorDate: Fri Oct 3 03:03:31 2025 -0700

    Add aggressive disk cleanup step before tests
    
    Add comprehensive disk cleanup after RPM installation to free up
    ~1-1.7GB of space before test execution.
    
    Cleanup includes:
    - Build dependencies (xerces-c, go)
    - Python source dependencies
    - Package manager caches (dnf/yum)
    - Documentation (man, doc, info)
    - Build artifacts (source and RPM tarballs)
    - Compiled objects (*.o, *.so)
    - Git repository (.git directory)
    - Locale files except en_US
    
    This ensures sufficient disk space for test execution on GitHub-hosted
    runners with 73GB total disk capacity.
---
 .github/workflows/build-cloudberry.yml | 57 ++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/.github/workflows/build-cloudberry.yml 
b/.github/workflows/build-cloudberry.yml
index efde0024d37..c7ad787ab67 100644
--- a/.github/workflows/build-cloudberry.yml
+++ b/.github/workflows/build-cloudberry.yml
@@ -1245,6 +1245,63 @@ jobs:
             du -sh "${SRC_DIR}/../cloudberry"
           } 2>&1 | tee -a build-logs/details/source-extraction.log
 
+      - name: Free up disk space
+        if: success() && needs.check-skip.outputs.should_skip != 'true'
+        run: |
+          set -eo pipefail
+
+          {
+            echo "=== Disk Cleanup Log ==="
+            echo "Timestamp: $(date -u)"
+            echo ""
+            echo "Disk usage before cleanup:"
+            df -h /
+            echo ""
+
+            # Remove build dependencies not needed for tests
+            echo "Removing unnecessary packages and files..."
+
+            # Remove Xerces-C (XML parser library, ~50MB)
+            rm -rf /usr/local/xerces-c
+
+            # Remove Go (if present, ~100-200MB)
+            rm -rf /usr/local/go*
+
+            # Remove Python source dependencies (~26MB)
+            rm -rf /__w/cloudberry/cloudberry/gpMgmt/bin/pythonSrc
+
+            # Clean package manager caches (~100-200MB)
+            dnf clean all
+            rm -rf /var/cache/dnf/*
+            rm -rf /var/cache/yum/*
+
+            # Remove documentation (~200-400MB)
+            rm -rf /usr/share/man/*
+            rm -rf /usr/share/doc/*
+            rm -rf /usr/share/info/*
+
+            # Remove build artifacts after RPM installation (~300MB)
+            rm -rf /__w/cloudberry/cloudberry/source_build_artifacts
+            rm -rf /__w/cloudberry/cloudberry/rpm_build_artifacts
+
+            # Remove compiled object files and libraries from source tree 
(~100-500MB)
+            echo "Removing object files and libraries from source tree..."
+            find /__w/cloudberry/cloudberry -name "*.o" -type f -delete 
2>/dev/null || true
+            find /__w/cloudberry/cloudberry -name "*.so" -type f -delete 
2>/dev/null || true
+
+            # Remove git repository (~66MB) - tests run from extracted 
tarball, not git checkout
+            rm -rf /__w/cloudberry/cloudberry/.git
+
+            # Remove locale files except en_US (~50-100MB)
+            find /usr/share/locale -mindepth 1 -maxdepth 1 ! -name 'en_US' 
-exec rm -rf {} + 2>/dev/null || true
+
+            echo ""
+            echo "Disk usage after cleanup:"
+            df -h /
+            echo ""
+            echo "Space freed up for test execution"
+          } 2>&1 | tee -a build-logs/details/disk-cleanup.log
+
       - name: Create Apache Cloudberry demo cluster
         if: success() && needs.check-skip.outputs.should_skip != 'true'
         env:


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to