Skip to content

Commit 5523d9f

Browse files
authored
Merge branch 'trunk' into proxy_updates
2 parents feaa53c + cde43bc commit 5523d9f

File tree

1,868 files changed

+80947
-109805
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,868 files changed

+80947
-109805
lines changed

.bazelignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,6 @@ dotnet/src/webdriver/obj
2222
java/build/production
2323
java/client/build
2424
java/server/build
25+
javascript/grid-ui/node_modules
26+
javascript/node/selenium-webdriver/node_modules
2527
node_modules

.bazelrc

Lines changed: 46 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
1-
try-import .bazelrc.local
2-
try-import .bazelrc.windows.local
1+
try-import %workspace%/.bazelrc.local
2+
try-import %workspace%/.bazelrc.windows.local
3+
4+
# Enable bzlmod but without lockfile for a moment.
5+
# Lockfile is a problem to check in at the moment
6+
# because of constant Git conflicts and platform-specific
7+
# pieces.
8+
# https://github.com/bazelbuild/bazel/issues/20369
9+
# https://github.com/bazelbuild/bazel/issues/21491
10+
11+
common --enable_bzlmod --lockfile_mode=off
312

413
# Ensure Windows support is accurate.
514

@@ -25,13 +34,26 @@ build --javacopt="--release 11"
2534
build --experimental_strict_java_deps=strict
2635
build --explicit_java_test_deps
2736

28-
# Ensure builds are unpolluted by the user env
37+
# Allow spaces in runfile paths
38+
build --nobuild_runfile_links
2939

30-
build --incompatible_strict_action_env
40+
# More JS magic
41+
build --experimental_allow_unresolved_symlinks
42+
# Avoid a warning about directory tracking being unsound
43+
startup --host_jvm_args=-DBAZEL_TRACK_SOURCE_DIRECTORIES=1
44+
45+
# Required for faster TS builds
46+
build --@aspect_rules_ts//ts:skipLibCheck=always
47+
fetch --@aspect_rules_ts//ts:skipLibCheck=always
48+
query --@aspect_rules_ts//ts:skipLibCheck=always
49+
50+
build --@aspect_rules_ts//ts:default_to_tsc_transpiler
51+
fetch --@aspect_rules_ts//ts:default_to_tsc_transpiler
52+
query --@aspect_rules_ts//ts:default_to_tsc_transpiler
3153

32-
# Except for the PATH environment variable
54+
# Ensure builds are unpolluted by the user env
3355

34-
build --action_env=PATH
56+
build --incompatible_strict_action_env
3557

3658
# For build stamping
3759

@@ -53,101 +75,41 @@ test --test_env=DISPLAY
5375
test --test_env=FIREFOX_NIGHTLY_BINARY
5476
test --test_env=GITHUB_ACTIONS
5577
test --test_env=MOZ_HEADLESS
56-
test --test_env=PATH # Remove once browser pinning works
5778
test --test_env=SELENIUM_BROWSER
5879
test --test_env=TRAVIS
5980
test --test_env=PYTHON_VERSION
81+
test --test_env=SE_AVOID_STATS=true
6082

6183
# Remove once rules_ruby support proper $LOAD_PATH expansion.
6284

6385
test --test_env=RUBYOPT="-Irb/lib -w"
6486

65-
# JRuby/TruffleRuby: https://github.com/jruby/jruby/issues/5661
87+
# Speed up JRuby startup.
88+
# https://github.com/jruby/jruby/wiki/Improving-startup-time
6689

67-
build --action_env=HOME
68-
test --test_env=HOME
90+
build --action_env=JRUBY_OPTS="--dev"
91+
test --test_env=JRUBY_OPTS="--dev"
6992

7093
# Expose necessary variables for Selenium-Manager.
7194

95+
test:windows --test_env=PATH
7296
test:windows --test_env=LOCALAPPDATA
7397
test:windows --test_env=PROGRAMFILES="C:\\Program Files"
7498
test:windows --test_env=PROGRAMFILES(X86)="C:\\Program Files (x86)"
7599

76100
test --test_timeout=1800
77101

78102
test:node_debug --test_output=streamed --test_strategy=exclusive --test_timeout=9999 --nocache_test_results
79-
test:ruby_debug --test_output=streamed --test_env=RUBY_DEBUG_FORK_MODE=parent --run_under="@bundle//:bin/rdbg --nonstop --open --command"
80-
81-
# The RBE to use
82-
build:remote --bes_results_url=https://gypsum.cluster.engflow.com/invocation
83-
build:remote --bes_backend=grpcs://gypsum.cluster.engflow.com
84-
build:remote --remote_executor=grpcs://gypsum.cluster.engflow.com
85-
build:remote --remote_cache=grpcs://gypsum.cluster.engflow.com
86-
87-
# The number of cores available
88-
build:remote -j 50
89-
90-
# Build Without The Bytes
91-
build:remote --remote_download_outputs=minimal
92-
93-
build:remote --define=EXECUTOR=remote
94-
build:remote --experimental_inmemory_dotd_files
95-
build:remote --experimental_inmemory_jdeps_files
96-
build:remote --remote_timeout=3600
97-
build:remote --spawn_strategy=remote,local
98-
#build:remote --nolegacy_important_outputs
99-
build:remote --incompatible_strict_action_env=true
100-
101-
build:remote --crosstool_top=//common/remote-build/cc:toolchain
102-
build:remote --extra_execution_platforms=//common/remote-build:platform
103-
build:remote --extra_toolchains=//common/remote-build:cc-toolchain
104-
build:remote --host_platform=//common/remote-build:platform
105-
build:remote --platforms=//common/remote-build:platform
106-
107-
# The Docker images are running Linux
108-
build:remote --cpu=k8
109-
build:remote --host_cpu=k8
110-
111-
build:remote --disk_cache=
112-
113-
build:remote --incompatible_enable_cc_toolchain_resolution
114-
build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
115-
test:remote --test_env=DISPLAY=:99.0
116-
test:remote --test_tag_filters=-skip-remote,-remote
117-
118-
# Env vars we can hard code
119-
build:remote --action_env=HOME=/home/dev
120-
build:remote --action_env=PATH=/bin:/usr/bin:/usr/local/bin
121-
test:remote --test_env=PATH=/bin:/usr/bin:/usr/local/bin
122-
test:remote --test_env=HOME=/home/dev
123-
124-
# Make sure we sniff credentials properly
125-
build:remote --credential_helper=%workspace%/scripts/credential-helper.sh
126-
127-
# Use pinned browsers when running remotely
128-
build:remote --//common:pin_browsers
129-
130-
# The remote build machines are pretty small, and 50 threads may leave them
131-
# thrashing, but our dev machines are a lot larger. Scale the workload so we
132-
# make reasonable usage of everything, everywhere, all at once.
133-
build:remote --local_cpu_resources='HOST_CPUS*10'
134-
build:remote --local_ram_resources='HOST_RAM*4.0'
135-
136-
# A small hint that we're running our tests remotely
137-
test:remote --test_env=REMOTE_BUILD=1
138-
139-
# Wait for up to 5 minutes for a test to pass
140-
test:remote --test_timeout=600
141-
142-
# Extend the remote config for CI
143-
build:remote-ci --config=remote
144-
build:remote-ci --curses=no --color=yes --show_timestamps --show_progress_rate_limit=5
145-
build:remote-ci --bes_upload_mode=wait_for_upload_complete
146-
147-
# Configuration changes suggested by EngFlow
148-
build:remote --grpc_keepalive_time=30s
149-
build:remote --nolegacy_important_outputs
150-
151-
build:release --config=remote
103+
test:ruby_debug --test_output=streamed --test_env=RUBY_DEBUG_FORK_MODE=parent --run_under="@bundle//bin:rdbg --nonstop --open --command"
104+
105+
152106
build:release --stamp
153-
build:release --remote_download_outputs=toplevel
107+
build:release --compilation_mode=opt
108+
109+
# As regular `release` but all the build work happens on the RBE
110+
build:remote_release --config=release
111+
build:remote_release --config=remote
112+
build:remote_release --remote_download_toplevel
113+
114+
# RBE
115+
import %workspace%/.bazelrc.remote

.bazelrc.remote

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# The RBE to use
2+
build:remote --bes_results_url=https://gypsum.cluster.engflow.com/invocation
3+
build:remote --bes_backend=grpcs://gypsum.cluster.engflow.com
4+
build:remote --remote_executor=grpcs://gypsum.cluster.engflow.com
5+
build:remote --remote_cache=grpcs://gypsum.cluster.engflow.com
6+
7+
# The number of cores available
8+
build:remote -j 50
9+
10+
build:remote --define=EXECUTOR=remote
11+
build:remote --experimental_inmemory_dotd_files
12+
build:remote --experimental_inmemory_jdeps_files
13+
build:remote --remote_timeout=3600
14+
build:remote --spawn_strategy=remote,local
15+
#build:remote --nolegacy_important_outputs
16+
build:remote --incompatible_strict_action_env=true
17+
18+
build:remote --crosstool_top=//common/remote-build/cc:toolchain
19+
build:remote --extra_execution_platforms=//common/remote-build:platform
20+
build:remote --extra_toolchains=//common/remote-build:cc-toolchain
21+
build:remote --host_platform=//common/remote-build:platform
22+
build:remote --platforms=//common/remote-build:platform
23+
build:remote --cxxopt=-std=c++14
24+
25+
# The Docker images are running Linux
26+
build:remote --cpu=k8
27+
build:remote --host_cpu=k8
28+
29+
build:remote --disk_cache=
30+
31+
build:remote --incompatible_enable_cc_toolchain_resolution
32+
build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
33+
test:remote --test_env=DISPLAY=:99.0
34+
test:remote --test_tag_filters=-skip-remote,-remote
35+
36+
# Env vars we can hard code
37+
build:remote --action_env=HOME=/home/dev
38+
build:remote --action_env=PATH=/bin:/usr/bin:/usr/local/bin
39+
test:remote --test_env=PATH=/bin:/usr/bin:/usr/local/bin
40+
test:remote --test_env=HOME=/home/dev
41+
42+
# Make sure we sniff credentials properly
43+
build:remote --credential_helper=gypsum.cluster.engflow.com=%workspace%/scripts/credential-helper.sh
44+
45+
# Use pinned browsers when running remotely
46+
build:remote --//common:pin_browsers
47+
48+
# The remote build machines are pretty small, and 50 threads may leave them
49+
# thrashing, but our dev machines are a lot larger. Scale the workload so we
50+
# make reasonable usage of everything, everywhere, all at once.
51+
build:remote --local_resources=cpu='HOST_CPUS*10'
52+
build:remote --local_resources=memory='HOST_RAM*4.0'
53+
54+
# A small hint that we're running our tests remotely
55+
test:remote --test_env=REMOTE_BUILD=1
56+
57+
# Wait for up to 5 minutes for a test to pass
58+
test:remote --test_timeout=600
59+
60+
# Extend the remote config for CI
61+
build:remote-ci --config=remote
62+
build:remote-ci --curses=no --color=yes --show_timestamps --show_progress_rate_limit=5
63+
build:remote-ci --bes_upload_mode=wait_for_upload_complete
64+
build:remote-ci --remote_download_minimal
65+
66+
# Configuration changes suggested by EngFlow
67+
build:remote --grpc_keepalive_time=30s
68+
build:remote --nolegacy_important_outputs

.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.3.2
1+
7.3.1

.devcontainer/devcontainer.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// https://containers.dev/implementors/json_reference/
2+
3+
{
4+
"name": "selenium-devcontainer",
5+
"build": {
6+
"dockerfile": "../scripts/dev-image/Dockerfile"
7+
},
8+
"runArgs": ["--name", "selenium_devcontainer"]
9+
}

.github/dependabot.yml

Lines changed: 0 additions & 56 deletions
This file was deleted.

.github/release.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
changelog:
2+
exclude:
3+
labels:
4+
- dependencies
5+
authors:
6+
- selenium-ci

0 commit comments

Comments
 (0)