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 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 7dbcfb7c781ed5bc2e007f993a3d8e8c079313bd..394361269d772ed0275e2305dec5b52cccd460fb 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 9c84e485b59c509a513bdb61919ff7b516af35b6..c520dbbec23705a1336e802121793f868b54fc55 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 7f072b5f229cc2e6209cbe0bda2cdd9f249e3844..3d904c38cc1f7e1a5a9378cb85c3b7c0e6c03420 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 12f8fff1e9f01f7a1ca517acc57b17d5cbd4ed61..b1b5cc380d50f700ac052209e64271c9dec35e88 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 7ff6474bc3c6e6c4d0b00ef9d135544f0cfcc806..15769e31dd16e5f9eb8e9a2bbe47915d0be29435 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