Add a script to clean the disk cache. (#585)

Currently, Bazel's disk cache grows without bound:
https://github.com/bazelbuild/bazel/issues/5139

Until this is fixed, provide a script to remove entries after 30 days.
If things are changing so rapidly that we need a more aggressive
threshold, we can adjust as we go. I'm somewhat hoping that we don't end
up with *that* many build artifacts, but let's see.
This commit is contained in:
Chandler Carruth
2021-06-17 10:21:05 -07:00
committed by GitHub
parent 31f37f54fe
commit 70071f9ede
2 changed files with 24 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
#!/bin/bash -eu
#
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
# Clean out any files in the Bazel disk cache which haven't been used for over
# thirty days.
# Default to the same directory in the project `.blazerc`, but you can set this
# environment variable to override that.
: ${BAZEL_DISK_CACHE_PATH:=~/.cache/carbon-lang-build-cache}
# As a courtesy, compute and print some approximate stats.
total_file_count=$(find "$BAZEL_DISK_CACHE_PATH" -type f | wc -l)
stale_file_count=$(find "$BAZEL_DISK_CACHE_PATH" -type f -atime +30 | wc -l)
echo "Removing $stale_file_count files out of $total_file_count total."
# Just re-running the find is simpler than managing any state.
find "$BAZEL_DISK_CACHE_PATH" -type f -atime +30 -delete