forked from buildbuddy-io/buildbuddy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.bazelrc
155 lines (130 loc) · 6.53 KB
/
.bazelrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# Build with --config=local to send build logs to your local server
build:local --bes_results_url=http://localhost:8080/invocation/
build:local --bes_backend=grpc://localhost:1985
build:local --remote_cache=grpc://localhost:1985
build:local --remote_upload_local_results
# Build with --config=dev to send build logs to the dev server
build:dev --bes_results_url=https://app.buildbuddy.dev/invocation/
build:dev --bes_backend=grpcs://remote.buildbuddy.dev
# Build with --config=cache-dev to send build logs to the dev server with cache
build:cache-dev --bes_results_url=https://app.buildbuddy.dev/invocation/
build:cache-dev --bes_backend=grpcs://remote.buildbuddy.dev
build:cache-dev --remote_cache=grpcs://remote.buildbuddy.dev
build:cache-dev --remote_upload_local_results
build:cache-dev --experimental_remote_cache_compression
# Build with --config=cache to send build logs to the production server with cache
build:cache --bes_results_url=https://app.buildbuddy.io/invocation/
build:cache --bes_backend=grpcs://remote.buildbuddy.io
build:cache --remote_cache=grpcs://remote.buildbuddy.io
build:cache --remote_upload_local_results
build:cache --experimental_remote_cache_compression
# Flags shared across remote configs
build:remote-shared --remote_upload_local_results
build:remote-shared --host_platform=@buildbuddy_toolchain//:platform
build:remote-shared --platforms=@buildbuddy_toolchain//:platform
build:remote-shared --crosstool_top=@buildbuddy_toolchain//:toolchain
build:remote-shared --extra_toolchains=//:sh_toolchain
build:remote-shared --remote_timeout=600
build:remote-shared --remote_download_minimal
build:remote-shared --experimental_repo_remote_exec
build:remote-shared --jobs=100
build:remote-shared --verbose_failures
# Build with --config=remote to use BuildBuddy RBE.
build:remote --config=remote-shared
build:remote --config=cache
build:remote --remote_executor=grpcs://remote.buildbuddy.io
# Build with --config=remote-dev to use BuildBuddy RBE.
build:remote-dev --config=remote-shared
build:remote-dev --config=cache-dev
build:remote-dev --remote_executor=grpcs://remote.buildbuddy.dev
# Configuration used for GitHub actions-based CI
build:ci --config=remote
build:ci --build_metadata=ROLE=CI
build:ci --build_metadata=VISIBILITY=PUBLIC
build:ci --remote_instance_name=buildbuddy-io/buildbuddy/ci
build:ci --repository_cache=/home/runner/repo-cache/
build:ci --flaky_test_attempts=2
build:ci --color=yes
build:ci --disk_cache=
# build:ci --@io_bazel_rules_go//go/config:race
# Configuration used for untrusted GitHub actions-based CI
build:untrusted-ci --config=remote
build:untrusted-ci --remote_instance_name=buildbuddy-io/buildbuddy/untrusted-ci
build:untrusted-ci --repository_cache=/home/runner/repo-cache/untrusted/
build:untrusted-ci --disk_cache=
build:untrusted-ci --flaky_test_attempts=2
# Configuration used for all BuildBuddy workflows
build:workflows --build_metadata=ROLE=CI
build:workflows --build_metadata=VISIBILITY=PUBLIC
build:workflows --remote_instance_name=buildbuddy-io/buildbuddy/workflows
build:workflows --color=yes
build:workflows --disk_cache=
build:workflows --flaky_test_attempts=2
# Use BuildBuddy endpoints from the ci_runner-generated bazelrc.
# These will point to local, dev, or prod, depending on which app created the workflow action.
build:workflows --config=buildbuddy_bes_backend
build:workflows --config=buildbuddy_bes_results_url
build:workflows --config=buildbuddy_remote_cache
build:workflows --config=buildbuddy_experimental_remote_downloader
build:workflows --@io_bazel_rules_go//go/config:race
# Configuration used for Linux workflows
build:linux-workflows --config=remote-shared
build:linux-workflows --config=workflows
build:linux-workflows --config=buildbuddy_remote_executor
# Configuration used for Mac workflows
# TODO(bduffany): Enable RBE for Mac workflows, and reconcile this with other configs
build:mac-workflows --config=cache
build:mac-workflows --config=workflows
# Configuration used for BuildBuddy release workflow
build:release --config=remote
build:release --remote_instance_name=buildbuddy-io/buildbuddy/release
build:release -c opt
build:release --stamp
build:release --define release=true
build:release --remote_download_toplevel
# Configuration used for BuildBuddy release m1 workflow
build:release-m1 --remote_instance_name=buildbuddy-io/buildbuddy/release
build:release-m1 -c opt
build:release-m1 --stamp
build:release-m1 --define release=true
build:release-m1 --remote_download_toplevel
# Configuration used for Buildbuddy auto-release
build:auto-release --config=remote
build:auto-release --remote_instance_name=buildbuddy-io/buildbuddy/auto-release
build:auto-release -c opt
# By default, build logs get sent to the production server
build --bes_results_url=https://app.buildbuddy.io/invocation/
build --bes_backend=grpcs://remote.buildbuddy.io
# Recommended if connecting to a remote (upload speed constrained) BuildBuddy instance
build --noremote_upload_local_results # Uploads logs & artifacts without writing to cache
# Populate workspace info like commit sha and repo name to your invocation.
build --workspace_status_command=$(pwd)/workspace_status.sh
# Misc remote cache/BES optimizations
build --experimental_remote_cache_async
build --experimental_remote_build_event_upload=minimal
build --nolegacy_important_outputs
# Use a static PATH variable to prevent unnecessary rebuilds of dependencies like protobuf.
build --incompatible_strict_action_env
# rules_nodejs needs runfiles to be explicitly enabled.
build --enable_runfiles
# Use syscall to create symlink in-process.
# Need to work around M1 Mac browser test issue https://github.com/bazelbuild/rules_webtesting/issues/438
build --experimental_inprocess_symlink_creation
# Don't build or run Docker tests by default, to avoid a hard dependency
# on Docker for development.
test --test_tag_filters=-docker
build --build_tag_filters=-docker
# Use C++17 standard for all C++ compilation
build --host_cxxopt=-std=c++17
# Run Webdriver tests with --config=webdriver-debug to debug webdriver tests locally.
# See server/testutil/webtester/webtester.go for more details.
test:webdriver-debug --test_arg=-webdriver_debug
# Forward X server display for local webdriver tests.
test:webdriver-debug --test_env=DISPLAY
# When debugging, only run one webdriver test at a time (it's overwhelming
# otherwise), and display verbose webdriver output in the terminal.
test:webdriver-debug --test_output=streamed
# Try importing a user specific .bazelrc
# You can create your own by copying and editing the template-user.bazelrc template:
# cp template-user.bazelrc user.bazelrc
try-import %workspace%/user.bazelrc