forked from SeleniumHQ/selenium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.bazelrc
148 lines (105 loc) · 4.71 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
try-import .bazelrc.local
try-import .bazelrc.windows.local
# Ensure Windows support is accurate.
startup --windows_enable_symlinks
build --enable_runfiles
build --flag_alias=pin_browsers=//common:pin_browsers
build --flag_alias=headless=//common:headless
# Set the default java toolchain
build --java_language_version=17
build --java_runtime_version=remotejdk_17
build --tool_java_language_version=17
build --tool_java_runtime_version=remotejdk_17
# We target java 8 by default
build --javacopt="--release 8"
# Require java dependencies to be used and first-order
build --experimental_strict_java_deps=strict
build --explicit_java_test_deps
# Ensure builds are unpolluted by the user env
build --incompatible_strict_action_env
# Except for the PATH environment variable
build --action_env=PATH
# For build stamping
build --enable_platform_specific_config
build:linux --workspace_status_command=scripts/build-info.sh
build:macos --workspace_status_command=scripts/build-info.sh
build:windows --workspace_status_command="powershell.exe scripts/build-info.ps1"
# Make sure we get something helpful when tests fail
build --verbose_failures
build --test_output=errors
# pass environment variables to the test environment
build --test_env=CI
build --test_env=DASHBOARD_URL
build --test_env=DISPLAY
build --test_env=FIREFOX_NIGHTLY_BINARY
build --test_env=GITHUB_ACTIONS
build --test_env=MOZ_HEADLESS
build --test_env=PATH # Remove once browser pinning works
build --test_env=SELENIUM_BROWSER
build --test_env=TRAVIS
build --test_env=PYTHON_VERSION
# Remove once rules_ruby support proper $LOAD_PATH expansion.
build --test_env=RUBYOPT="-Irb/lib -w"
# JRuby/TruffleRuby: https://github.com/jruby/jruby/issues/5661
build --action_env=HOME
test --test_env=HOME
# Expose necessary variables for Selenium-Manager.
test:windows --test_env=LOCALAPPDATA
test:windows --test_env=PROGRAMFILES="C:\\Program Files"
test:windows --test_env=PROGRAMFILES(X86)="C:\\Program Files (x86)"
test --test_timeout=1800
test:node_debug --test_output=streamed --test_strategy=exclusive --test_timeout=9999 --nocache_test_results
test:ruby_debug --test_output=streamed --test_env=RUBY_DEBUG_FORK_MODE=parent --run_under="@bundle//:bin/rdbg --nonstop --open --command"
# The RBE to use
build:remote --bes_results_url=https://gypsum.cluster.engflow.com/invocation
build:remote --bes_backend=grpcs://gypsum.cluster.engflow.com
build:remote --remote_executor=grpcs://gypsum.cluster.engflow.com
build:remote --remote_cache=grpcs://gypsum.cluster.engflow.com
# The number of cores available
build:remote -j 50
# Build Without The Bytes
build:remote --remote_download_outputs=minimal
build:remote --define=EXECUTOR=remote
build:remote --experimental_inmemory_dotd_files
build:remote --experimental_inmemory_jdeps_files
build:remote --remote_timeout=3600
build:remote --spawn_strategy=remote,local
#build:remote --nolegacy_important_outputs
build:remote --incompatible_strict_action_env=true
build:remote --crosstool_top=//common/remote-build/cc:toolchain
build:remote --extra_execution_platforms=//common/remote-build:platform
build:remote --extra_toolchains=//common/remote-build:cc-toolchain
build:remote --host_platform=//common/remote-build:platform
build:remote --platforms=//common/remote-build:platform
# The Docker images are running Linux
build:remote --cpu=k8
build:remote --host_cpu=k8
build:remote --disk_cache=
build:remote --incompatible_enable_cc_toolchain_resolution
build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
test:remote --test_env=DISPLAY=:99.0
test:remote --test_tag_filters=-edge,-safari,-remote
# Env vars we can hard code
build:remote --action_env=HOME=/home/dev
build:remote --action_env=PATH=/bin:/usr/bin:/usr/local/bin
test:remote --test_env=HOME=/home/dev
# Make sure we sniff credentials properly
build:remote --credential_helper=%workspace%/scripts/credential-helper.sh
# Use pinned browsers when running remotely
build:remote --//common:pin_browsers
# The remote build machines are pretty small, and 50 threads may leave them
# thrashing, but our dev machines are a lot larger. Scale the workload so we
# make reasonable usage of everything, everywhere, all at once.
build:remote --local_cpu_resources='HOST_CPUS*10'
build:remote --local_ram_resources='HOST_RAM*4.0'
# A small hint that we're running our tests remotely
test:remote --test_env=REMOTE_BUILD=1
# Wait for up to 5 minutes for a test to pass
test:remote --test_timeout=600
# Extend the remote config for CI
build:remote-ci --config=remote
build:remote-ci --curses=no --color=yes --show_timestamps --show_progress_rate_limit=5
build:remote-ci --bes_upload_mode=wait_for_upload_complete
# Configuration changes suggested by EngFlow
build:remote --grpc_keepalive_time=30s
build:remote --nolegacy_important_outputs