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]
