# We recommend enforcing a policy that keeps your CI from being slowed down # by individual test targets that should be optimized # or split up into multiple test targets with sharding or manually. # Set this flag to exclude targets that have their timeout set to eternal (>15m) from running on CI. # Docs: https://bazel.build/docs/user-manual#test-timeout-filters test --test_timeout_filters=-eternal # Announce all announces command options read from the bazelrc file(s) when starting up at the # beginning of each Bazel invocation. This is very useful on CI to be able to inspect what Bazel rc # settings are being applied on each run. # Docs: https://bazel.build/docs/user-manual#announce-rc common --announce_rc # Add a timestamp to each message generated by Bazel specifying the time at which the message was # displayed. # Docs: https://bazel.build/docs/user-manual#show-timestamps build --show_timestamps # Only show progress every 15 seconds on CI. # We want to find a compromise between printing often enough to show that the build isn't stuck, # but not so often that we produce a long log file that requires a lot of scrolling. # https://bazel.build/reference/command-line-reference#flag--show_progress_rate_limit common --show_progress_rate_limit=15 # Github Action logs don't support curses, so we disable curses to prevent the logs from filling up # with garbage. # Docs: https://bazel.build/docs/user-manual#curses common --curses=no # Use colors to highlight output on the screen. Set to `no` if your CI does not display colors. # Docs: https://bazel.build/docs/user-manual#color common --color=yes # The terminal width in columns. Configure this to override the default value based on what your CI system renders. # Docs: https://github.com/bazelbuild/bazel/blob/1af61b21df99edc2fc66939cdf14449c2661f873/src/main/java/com/google/devtools/build/lib/runtime/UiOptions.java#L151 build --terminal_columns=143 ###################################### # Generic remote cache configuration # ###################################### # Only download remote outputs of top level targets to the local machine. # Docs: https://bazel.build/reference/command-line-reference#flag--remote_download_toplevel # TODO(malt3): find out why this is not working # build --remote_download_toplevel # The maximum amount of time to wait for remote execution and cache calls. # https://bazel.build/reference/command-line-reference#flag--remote_timeout build --remote_timeout=3600 # Upload locally executed action results to the remote cache. # Docs: https://bazel.build/reference/command-line-reference#flag--remote_upload_local_results # TODO(malt3): find out why this is not working # build --remote_upload_local_results # Fall back to standalone local execution strategy if remote execution fails. If the grpc remote # cache connection fails, it will fail the build, add this so it falls back to the local cache. # Docs: https://bazel.build/reference/command-line-reference#flag--remote_local_fallback build --remote_local_fallback # Fixes builds hanging on CI that get the TCP connection closed without sending RST packets. # Docs: https://bazel.build/reference/command-line-reference#flag--grpc_keepalive_time build --grpc_keepalive_time=30s ###################################### # Edgeless specific # ###################################### # Ensure runs in CI are tagged as such. common --build_metadata=ROLE=CI # show verbose failure messages in CI. common --verbose_failures # extend time available to upload build events common --bes_timeout=600s # options to limit the amount of data uploaded/downloaded to/from the remote cache common --experimental_remote_build_event_upload=minimal common --nolegacy_important_outputs