# 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 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 # We have seen some flakiness in using TS workers on CircleCI # https://angular-team.slack.com/archives/C07DT5M6V/p1562693245183400 # > failures like `ERROR: /home/circleci/ng/packages/core/test/BUILD.bazel:5:1: # > Compiling TypeScript (devmode) //packages/core/test:test_lib failed: Worker process did not return a WorkResponse:` # > I saw that issue a couple times today. # > Example job: https://circleci.com/gh/angular/angular/385517 # We expect that TypeScript compilations will parallelize wider than the number of local cores anyway # so we should saturate remote workers with TS compilations build --strategy=AngularTemplateCompile=local build --strategy=TypeScriptCompile=local