From 39c3889df100ff69a605c3bf0b9148cf093162d7 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 06eb5034317cbe7cba3d50a4694532e932dbe30b..b49c47967c98704ac4a6363cb6f6264b22ebfbf7 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 54b8ae44e3a5e3b35892b32de1bdcda08b32c1a7..65bcd5f3ec8ce4b5927d248682efe9254fc24e89 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 7a50142404f0c85eeb124fe0a6a1ff3d627f0b21..9d6755848db281b6543d84e82687af9fcafde4ba 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 17e00478fa01463f87b1524e85c15780b1857d8b..29291989e3236f7f18e3ecec65bced6b4970acf5 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 d8ca7dacb6ee247e1bb26943e13a5f1bf12a3127..cc78d333bc10be06e52335afe01add920378457c 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 21b069eded46a8ef36fc0b09d5cbe0f9ce4a668c..21e4064869c14d0aeffc304417b932f2c3ac346c 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" \ -- 2.54.0