From bdb6fb57639a4508dda523301c5eaf31e8d89edf Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 4 Dec 2022 15:45:15 -0700 Subject: [PATCH] CI: use cache directories local to the CI run Override the cache directories because they won't actually help other CI runs which will be testing alternate versions of zig, and ultimately would just fill up space on the hard drive for no reason. In practice we did see one of the CI servers fill up too many files inside ~/.cache/zig, which caused certain file system operations to start returning ENOSPC, despite the hard drive having plenty of space left. --- ci/aarch64-linux-debug.sh | 7 +++++++ ci/aarch64-linux-release.sh | 7 +++++++ ci/aarch64-macos.sh | 7 +++++++ ci/x86_64-linux-debug.sh | 7 +++++++ ci/x86_64-linux-release.sh | 7 +++++++ ci/x86_64-macos.sh | 8 ++++++++ 6 files changed, 43 insertions(+) diff --git a/ci/aarch64-linux-debug.sh b/ci/aarch64-linux-debug.sh index 06eb503431..b49c47967c 100644 --- a/ci/aarch64-linux-debug.sh +++ b/ci/aarch64-linux-debug.sh @@ -26,6 +26,13 @@ export CXX="$ZIG c++ -target $TARGET -mcpu=$MCPU" rm -rf build-debug mkdir build-debug cd build-debug + +# Override the cache directories because they won't actually help other CI runs +# which will be testing alternate versions of zig, and ultimately would just +# fill up space on the hard drive for no reason. +export ZIG_GLOBAL_CACHE_DIR="$(pwd)/zig-global-cache" +export ZIG_LOCAL_CACHE_DIR="$(pwd)/zig-local-cache" + cmake .. \ -DCMAKE_INSTALL_PREFIX="stage3-debug" \ -DCMAKE_PREFIX_PATH="$PREFIX" \ diff --git a/ci/aarch64-linux-release.sh b/ci/aarch64-linux-release.sh index 7dbcfb7c78..394361269d 100644 --- a/ci/aarch64-linux-release.sh +++ b/ci/aarch64-linux-release.sh @@ -26,6 +26,13 @@ export CXX="$ZIG c++ -target $TARGET -mcpu=$MCPU" rm -rf build-release mkdir build-release cd build-release + +# Override the cache directories because they won't actually help other CI runs +# which will be testing alternate versions of zig, and ultimately would just +# fill up space on the hard drive for no reason. +export ZIG_GLOBAL_CACHE_DIR="$(pwd)/zig-global-cache" +export ZIG_LOCAL_CACHE_DIR="$(pwd)/zig-local-cache" + cmake .. \ -DCMAKE_INSTALL_PREFIX="stage3-release" \ -DCMAKE_PREFIX_PATH="$PREFIX" \ diff --git a/ci/aarch64-macos.sh b/ci/aarch64-macos.sh index 9c84e485b5..c520dbbec2 100755 --- a/ci/aarch64-macos.sh +++ b/ci/aarch64-macos.sh @@ -23,6 +23,13 @@ git fetch --tags mkdir build cd build + +# Override the cache directories because they won't actually help other CI runs +# which will be testing alternate versions of zig, and ultimately would just +# fill up space on the hard drive for no reason. +export ZIG_GLOBAL_CACHE_DIR="$(pwd)/zig-global-cache" +export ZIG_LOCAL_CACHE_DIR="$(pwd)/zig-local-cache" + PATH="$HOME/local/bin:$PATH" cmake .. \ -DCMAKE_INSTALL_PREFIX="stage3-release" \ -DCMAKE_PREFIX_PATH="$PREFIX" \ diff --git a/ci/x86_64-linux-debug.sh b/ci/x86_64-linux-debug.sh index 7f072b5f22..3d904c38cc 100755 --- a/ci/x86_64-linux-debug.sh +++ b/ci/x86_64-linux-debug.sh @@ -26,6 +26,13 @@ export CXX="$ZIG c++ -target $TARGET -mcpu=$MCPU" rm -rf build-debug mkdir build-debug cd build-debug + +# Override the cache directories because they won't actually help other CI runs +# which will be testing alternate versions of zig, and ultimately would just +# fill up space on the hard drive for no reason. +export ZIG_GLOBAL_CACHE_DIR="$(pwd)/zig-global-cache" +export ZIG_LOCAL_CACHE_DIR="$(pwd)/zig-local-cache" + cmake .. \ -DCMAKE_INSTALL_PREFIX="stage3-debug" \ -DCMAKE_PREFIX_PATH="$PREFIX" \ diff --git a/ci/x86_64-linux-release.sh b/ci/x86_64-linux-release.sh index 12f8fff1e9..b1b5cc380d 100755 --- a/ci/x86_64-linux-release.sh +++ b/ci/x86_64-linux-release.sh @@ -26,6 +26,13 @@ export CXX="$ZIG c++ -target $TARGET -mcpu=$MCPU" rm -rf build-release mkdir build-release cd build-release + +# Override the cache directories because they won't actually help other CI runs +# which will be testing alternate versions of zig, and ultimately would just +# fill up space on the hard drive for no reason. +export ZIG_GLOBAL_CACHE_DIR="$(pwd)/zig-global-cache" +export ZIG_LOCAL_CACHE_DIR="$(pwd)/zig-local-cache" + cmake .. \ -DCMAKE_INSTALL_PREFIX="stage3-release" \ -DCMAKE_PREFIX_PATH="$PREFIX" \ diff --git a/ci/x86_64-macos.sh b/ci/x86_64-macos.sh index 7ff6474bc3..15769e31dd 100755 --- a/ci/x86_64-macos.sh +++ b/ci/x86_64-macos.sh @@ -29,8 +29,16 @@ git config core.abbrev 9 git fetch --unshallow || true git fetch --tags +rm -rf build mkdir build cd build + +# Override the cache directories because they won't actually help other CI runs +# which will be testing alternate versions of zig, and ultimately would just +# fill up space on the hard drive for no reason. +export ZIG_GLOBAL_CACHE_DIR="$(pwd)/zig-global-cache" +export ZIG_LOCAL_CACHE_DIR="$(pwd)/zig-local-cache" + cmake .. \ -DCMAKE_INSTALL_PREFIX="stage3-release" \ -DCMAKE_PREFIX_PATH="$PREFIX" \