mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-17 20:04:36 -05:00
dac4bb04f2
Comparison of output for a failed build. Old setup produces >3k lines of unhelpful messages: https://github.com/edgelesssys/constellation/actions/runs/7165242775/job/19506817413 Without curses support, we get <400 lines with relevant details: https://github.com/edgelesssys/constellation/actions/runs/7166031624/job/19509201790
82 lines
3.7 KiB
Plaintext
82 lines
3.7 KiB
Plaintext
# 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
|