Previously all Bazel repositories were cached on CircleCI because the `experimental_repository_cache` flag has been specified and the given repository cache directory has been included in the CircleCI cache storage. The directory is currently still included in the CircleCI cache storage, but the `--repository_cache` flag is no longer specified, and the cache directory is basically empty all the time. The flag seems to have been removed accidentally within SHA c8b70ae8e4a878c8855249df82bf3a46ce6ea0e5. We should specifiy this flag on the CI again, so that Bazel doesn't need to install the Bazel managed node modules all the time. This would slow down analysis phase on CI; and also makes us dependent on the Yarn/NPM registry which often times out if we fetch a lot of dependencies. Also in order to make sure that cached Bazel repositories are also most of the time in sync with what's currently defined in the workspace, we need to update the cache key. PR Close #28515
31 lines
1.3 KiB
Plaintext
31 lines
1.3 KiB
Plaintext
# These options are enabled when running on CI
|
|
# We do this by copying this file to /etc/bazel.bazelrc at the start of the build.
|
|
# See documentation in /docs/BAZEL.md
|
|
|
|
# Save downloaded repositories in a location that can be cached by CircleCI. This helps us
|
|
# speeding up the analysis time significantly with Bazel managed node dependencies on the CI.
|
|
build --repository_cache=/home/circleci/bazel_repository_cache
|
|
|
|
# Don't be spammy in the logs
|
|
# TODO(gmagolan): Hide progress again once build performance improves
|
|
# Presently, CircleCI can timeout during bazel test ... with the following
|
|
# error: Too long with no output (exceeded 10m0s)
|
|
# build --noshow_progress
|
|
|
|
# Print all the options that apply to the build.
|
|
# This helps us diagnose which options override others
|
|
# (e.g. /etc/bazel.bazelrc vs. tools/bazel.rc)
|
|
build --announce_rc
|
|
|
|
# Workaround https://github.com/bazelbuild/bazel/issues/3645
|
|
# Bazel doesn't calculate the memory ceiling correctly when running under Docker.
|
|
# Limit Bazel to consuming resources that fit in CircleCI "xlarge" class
|
|
# https://circleci.com/docs/2.0/configuration-reference/#resource_class
|
|
build --local_resources=14336,8.0,1.0
|
|
|
|
# Retry in the event of flakes, eg. https://circleci.com/gh/angular/angular/31309
|
|
test --flaky_test_attempts=2
|
|
|
|
# More details on failures
|
|
build --verbose_failures=true
|