Skip to content

Commit 0cce0cc

Browse files
authored
Merge branch 'trunk' into too-many-classes
2 parents 1243079 + 3305928 commit 0cce0cc

File tree

306 files changed

+9427
-8472
lines changed

Some content is hidden

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

306 files changed

+9427
-8472
lines changed

.bazelrc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,12 @@ build --tool_java_runtime_version=remotejdk_17
3030
build --javacopt="--release 11"
3131

3232
# Require java dependencies to be used and first-order
33-
3433
build --experimental_strict_java_deps=strict
3534
build --explicit_java_test_deps
3635

36+
# Avoid ErrorProne getting annoyed about "impossible null checks"
37+
build --javacopt="-Xep:ImpossibleNullComparison:OFF"
38+
3739
# Allow spaces in runfile paths
3840
build --nobuild_runfile_links
3941

@@ -55,6 +57,11 @@ query --@aspect_rules_ts//ts:default_to_tsc_transpiler
5557

5658
build --incompatible_strict_action_env
5759

60+
# Required to get `protobuf` compiling, which is required for `rules_closure`
61+
build --incompatible_enable_cc_toolchain_resolution
62+
build --cxxopt=-std=c++14
63+
build --host_cxxopt=-std=c++14
64+
5865
# For build stamping
5966

6067
build --enable_platform_specific_config

.github/workflows/bazel.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ jobs:
8282
steps:
8383
- name: Checkout source tree
8484
uses: actions/checkout@v4
85+
- name: Pull latest changes
86+
if: startsWith(github.head_ref, 'renovate/')
87+
run: git pull origin ${{ github.head_ref }}
8588
- name: Free space
8689
if: inputs.os != 'windows'
8790
run: ./scripts/github-actions/free-disk-space.sh

.github/workflows/ci-rbe.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
jobs:
1111
format:
1212
name: Format
13-
if: github.repository_owner == 'seleniumhq'
13+
if: github.repository_owner == 'seleniumhq' && startsWith(github.head_ref, 'renovate/') != true
1414
uses: ./.github/workflows/bazel.yml
1515
with:
1616
name: Check format script run
@@ -20,7 +20,7 @@ jobs:
2020

2121
test:
2222
name: Test
23-
if: github.repository_owner == 'seleniumhq'
23+
if: github.repository_owner == 'seleniumhq' && startsWith(github.head_ref, 'renovate/') != true
2424
uses: ./.github/workflows/bazel.yml
2525
with:
2626
name: All RBE tests
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: CI - Renovate - RBE
2+
3+
on:
4+
push:
5+
branches:
6+
- renovate/*
7+
workflow_dispatch:
8+
9+
jobs:
10+
pin:
11+
runs-on: ubuntu-latest
12+
if: github.repository_owner == 'seleniumhq'
13+
steps:
14+
- name: Checkout Repository
15+
uses: actions/checkout@v4
16+
- name: java - repin dependencies
17+
if: contains(join(github.event.commits.*.message), '[java]')
18+
run: REPIN=1 bazel run @maven//:pin
19+
- name: rust - repin dependencies
20+
if: contains(join(github.event.commits.*.message), '[rust]')
21+
run: CARGO_BAZEL_REPIN=true bazel sync --only=crates
22+
- name: js - repin dependencies
23+
if: contains(join(github.event.commits.*.message), '[js]')
24+
run: bazel run -- @pnpm//:pnpm install --dir $PWD --lockfile-only
25+
- name: dotnet - repin dependencies
26+
if: contains(join(github.event.commits.*.message), '[dotnet]')
27+
run: ./dotnet/update-deps.sh
28+
- name: py - repin dependencies
29+
if: contains(join(github.event.commits.*.message), '[py]')
30+
run: bazel run //py:requirements.update
31+
- name: Commit files
32+
run: |
33+
export CHANGES=$(git status -s)
34+
if [ -n "$CHANGES" ]; then
35+
git config --local user.email "[email protected]"
36+
git config --local user.name "Selenium CI Bot"
37+
git add .
38+
git commit -m 'Repin dependencies'
39+
git push
40+
fi
41+
42+
check-format:
43+
needs: pin
44+
name: Check format
45+
if: github.repository_owner == 'seleniumhq'
46+
uses: ./.github/workflows/bazel.yml
47+
with:
48+
name: Check format script run
49+
caching: false
50+
ruby-version: jruby-9.4.8.0
51+
run: ./scripts/github-actions/check-format.sh
52+
53+
test:
54+
name: Test
55+
needs: pin
56+
if: github.repository_owner == 'seleniumhq'
57+
uses: ./.github/workflows/bazel.yml
58+
with:
59+
name: All RBE tests
60+
caching: false
61+
ruby-version: jruby-9.4.8.0
62+
run: ./scripts/github-actions/ci-build.sh
63+
64+
ci-gh:
65+
name: CI - GitHub
66+
needs: pin
67+
if: github.repository_owner == 'seleniumhq'
68+
uses: ./.github/workflows/ci.yml

.github/workflows/ci.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,14 @@ on:
88
schedule:
99
- cron: "0 */12 * * *"
1010
workflow_dispatch:
11+
workflow_call:
1112

1213
jobs:
1314
check:
1415
name: Check
16+
if: >
17+
github.repository_owner == 'seleniumhq' &&
18+
(startsWith(github.head_ref, 'renovate/') != true || github.event_name == 'workflow_call')
1519
runs-on: ubuntu-latest
1620
outputs:
1721
targets: ${{ steps.check-targets.outputs.bazel-targets }}
@@ -44,6 +48,7 @@ jobs:
4448
if: >
4549
github.event_name == 'schedule' ||
4650
github.event_name == 'workflow_dispatch' ||
51+
github.event_name == 'workflow_call' ||
4752
contains(needs.check.outputs.targets, '//dotnet') ||
4853
contains(join(github.event.commits.*.message), '[dotnet]') ||
4954
contains(github.event.pull_request.title, '[dotnet]')
@@ -55,6 +60,7 @@ jobs:
5560
if: >
5661
github.event_name == 'schedule' ||
5762
github.event_name == 'workflow_dispatch' ||
63+
github.event_name == 'workflow_call' ||
5864
contains(needs.check.outputs.targets, '//java') ||
5965
contains(join(github.event.commits.*.message), '[java]') ||
6066
contains(github.event.pull_request.title, '[java]')
@@ -66,6 +72,7 @@ jobs:
6672
if: >
6773
github.event_name == 'schedule' ||
6874
github.event_name == 'workflow_dispatch' ||
75+
github.event_name == 'workflow_call' ||
6976
contains(needs.check.outputs.targets, '//py') ||
7077
contains(join(github.event.commits.*.message), '[py]') ||
7178
contains(github.event.pull_request.title, '[py]')
@@ -77,6 +84,7 @@ jobs:
7784
if: >
7885
github.event_name == 'schedule' ||
7986
github.event_name == 'workflow_dispatch' ||
87+
github.event_name == 'workflow_call' ||
8088
contains(needs.check.outputs.targets, '//rb') ||
8189
contains(join(github.event.commits.*.message), '[rb]') ||
8290
contains(github.event.pull_request.title, '[rb]')
@@ -90,6 +98,7 @@ jobs:
9098
if: >
9199
github.event_name == 'schedule' ||
92100
github.event_name == 'workflow_dispatch' ||
101+
github.event_name == 'workflow_call' ||
93102
contains(needs.check.outputs.targets, '//rust') ||
94103
contains(join(github.event.commits.*.message), '[rust]') ||
95104
contains(github.event.pull_request.title, '[rust]')

.skipped-tests

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
-//java/test/org/openqa/selenium/edge:EdgeDriverFunctionalTest
66
-//java/test/org/openqa/selenium/edge:EdgeDriverFunctionalTest-edge
77
-//java/test/org/openqa/selenium/edge:EdgeDriverFunctionalTest-remote
8-
-//java/test/org/openqa/selenium/federatedcredentialmanagement:FederatedCredentialManagementTest
98
-//java/test/org/openqa/selenium/firefox:FirefoxDriverBuilderTest
109
-//java/test/org/openqa/selenium/grid/gridui:OverallGridTest
1110
-//java/test/org/openqa/selenium/grid/router:RemoteWebDriverDownloadTest

MODULE.bazel

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@ bazel_dep(name = "contrib_rules_jvm", version = "0.27.0")
1212
bazel_dep(name = "platforms", version = "0.0.10")
1313

1414
# Required for the closure rules
15-
bazel_dep(name = "protobuf", version = "21.7", dev_dependency = True, repo_name = "com_google_protobuf")
15+
bazel_dep(name = "protobuf", version = "29.1", dev_dependency = True, repo_name = "com_google_protobuf")
1616

1717
# Required for rules_rust to import the crates properly
1818
bazel_dep(name = "rules_cc", version = "0.0.9", dev_dependency = True)
1919

2020
bazel_dep(name = "rules_dotnet", version = "0.16.1")
2121
bazel_dep(name = "rules_java", version = "7.11.1")
22-
bazel_dep(name = "rules_jvm_external", version = "6.3")
22+
bazel_dep(name = "rules_jvm_external", version = "6.6")
2323
bazel_dep(name = "rules_nodejs", version = "6.3.0")
2424
bazel_dep(name = "rules_oci", version = "1.7.6")
2525
bazel_dep(name = "rules_pkg", version = "0.10.1")
2626
bazel_dep(name = "rules_python", version = "0.33.0")
27-
bazel_dep(name = "rules_proto", version = "6.0.0")
27+
bazel_dep(name = "rules_proto", version = "6.0.2")
2828
bazel_dep(name = "rules_ruby", version = "0.13.0")
2929

3030
linter = use_extension("@apple_rules_lint//lint:extensions.bzl", "linter")
@@ -182,23 +182,23 @@ maven.install(
182182
"dev.failsafe:failsafe:3.3.2",
183183
"io.grpc:grpc-context:1.68.1",
184184
"io.lettuce:lettuce-core:6.5.0.RELEASE",
185-
"io.netty:netty-buffer:4.1.115.Final",
186-
"io.netty:netty-codec-http:4.1.115.Final",
187-
"io.netty:netty-codec-http2:4.1.115.Final",
188-
"io.netty:netty-common:4.1.115.Final",
189-
"io.netty:netty-handler:4.1.115.Final",
190-
"io.netty:netty-handler-proxy:4.1.115.Final",
191-
"io.netty:netty-transport:4.1.115.Final",
192-
"io.opentelemetry:opentelemetry-api:1.44.1",
193-
"io.opentelemetry:opentelemetry-context:1.44.1",
194-
"io.opentelemetry:opentelemetry-exporter-logging:1.44.1",
195-
"io.opentelemetry:opentelemetry-sdk:1.44.1",
196-
"io.opentelemetry:opentelemetry-sdk-common:1.44.1",
197-
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:1.44.1",
198-
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:1.44.1",
199-
"io.opentelemetry:opentelemetry-sdk-testing:1.44.1",
200-
"io.opentelemetry:opentelemetry-sdk-trace:1.44.1",
201-
"io.opentelemetry.semconv:opentelemetry-semconv:1.25.0-alpha",
185+
"io.netty:netty-buffer",
186+
"io.netty:netty-codec-http",
187+
"io.netty:netty-codec-http2",
188+
"io.netty:netty-common",
189+
"io.netty:netty-handler",
190+
"io.netty:netty-handler-proxy",
191+
"io.netty:netty-transport",
192+
"io.opentelemetry:opentelemetry-api",
193+
"io.opentelemetry:opentelemetry-context",
194+
"io.opentelemetry:opentelemetry-exporter-logging",
195+
"io.opentelemetry:opentelemetry-sdk",
196+
"io.opentelemetry:opentelemetry-sdk-common",
197+
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure",
198+
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi",
199+
"io.opentelemetry:opentelemetry-sdk-testing",
200+
"io.opentelemetry:opentelemetry-sdk-trace",
201+
"io.opentelemetry.semconv:opentelemetry-semconv:1.28.0-alpha",
202202
"it.ozimov:embedded-redis:0.7.3",
203203
"net.bytebuddy:byte-buddy:1.15.10",
204204
"org.htmlunit:htmlunit-core-js:4.6.0",
@@ -209,20 +209,25 @@ maven.install(
209209
"org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5",
210210
"org.hsqldb:hsqldb:2.7.4",
211211
"org.jspecify:jspecify:1.0.0",
212-
"org.junit.jupiter:junit-jupiter-api:5.11.3",
213-
"org.junit.jupiter:junit-jupiter-engine:5.11.3",
214-
"org.junit.jupiter:junit-jupiter-params:5.11.3",
215-
"org.junit.platform:junit-platform-launcher:1.11.3",
216-
"org.junit.platform:junit-platform-reporting:1.11.3",
217-
"org.junit.platform:junit-platform-commons:1.11.3",
218-
"org.junit.platform:junit-platform-engine:1.11.3",
212+
"org.junit.jupiter:junit-jupiter-api",
213+
"org.junit.jupiter:junit-jupiter-engine",
214+
"org.junit.jupiter:junit-jupiter-params",
215+
"org.junit.platform:junit-platform-launcher",
216+
"org.junit.platform:junit-platform-reporting",
217+
"org.junit.platform:junit-platform-commons",
218+
"org.junit.platform:junit-platform-engine",
219219
"org.mockito:mockito-core:5.14.2",
220220
"org.redisson:redisson:3.39.0",
221221
"org.slf4j:slf4j-api:2.0.16",
222222
"org.slf4j:slf4j-jdk14:2.0.16",
223223
"org.tomlj:tomlj:1.1.1",
224224
"org.zeromq:jeromq:0.6.0",
225225
],
226+
boms = [
227+
"io.opentelemetry:opentelemetry-bom:1.44.1",
228+
"io.netty:netty-bom:4.1.115.Final",
229+
"org.junit:junit-bom:5.11.3",
230+
],
226231
excluded_artifacts = [
227232
"org.hamcrest:hamcrest-all", # Replaced by hamcrest 2
228233
"org.hamcrest:hamcrest-core",
@@ -235,6 +240,7 @@ maven.install(
235240
repositories = [
236241
"https://repo1.maven.org/maven2",
237242
],
243+
resolver = "maven",
238244
strict_visibility = True,
239245
)
240246
use_repo(maven, "maven", "unpinned_maven")

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Selenium
22

33
[![CI](https://github.com/SeleniumHQ/selenium/actions/workflows/ci.yml/badge.svg?branch=trunk&event=schedule)](https://github.com/SeleniumHQ/selenium/actions/workflows/ci.yml)
4+
[![CI - RBE](https://github.com/SeleniumHQ/selenium/actions/workflows/ci-rbe.yml/badge.svg?branch=trunk&event=schedule)](https://github.com/SeleniumHQ/selenium/actions/workflows/ci-rbe.yml)
45
[![Releases downloads](https://img.shields.io/github/downloads/SeleniumHQ/selenium/total.svg)](https://github.com/SeleniumHQ/selenium/releases)
56

67
<a href="https://selenium.dev"><img src="common/images/selenium_logo_mark_green.svg" width="180" alt="Selenium Logo"/></a>

Rakefile

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -585,8 +585,7 @@ namespace :py do
585585
nightly = ".#{Time.now.strftime('%Y%m%d%H%M')}"
586586
new_version = updated_version(old_version, arguments[:version], nightly)
587587

588-
['py/setup.py',
589-
'py/pyproject.toml',
588+
['py/pyproject.toml',
590589
'py/BUILD.bazel',
591590
'py/selenium/__init__.py',
592591
'py/selenium/webdriver/__init__.py',
@@ -1048,7 +1047,6 @@ namespace :all do
10481047
'py/selenium/webdriver/__init__.py',
10491048
'py/selenium/__init__.py',
10501049
'py/BUILD.bazel',
1051-
'py/setup.py',
10521050
'rb/lib/selenium/webdriver/version.rb',
10531051
'rb/Gemfile.lock'])
10541052

@@ -1110,7 +1108,6 @@ namespace :all do
11101108
'py/selenium/webdriver/__init__.py',
11111109
'py/BUILD.bazel',
11121110
'py/CHANGES',
1113-
'py/setup.py',
11141111
'rb/lib/selenium/webdriver/version.rb',
11151112
'rb/CHANGES',
11161113
'rb/Gemfile.lock',

WORKSPACE

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,8 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
66

77
http_archive(
88
name = "io_bazel_rules_closure",
9-
patch_args = [
10-
"-p1",
11-
],
12-
patches = [
13-
"//javascript:rules_closure_shell.patch",
14-
],
15-
sha256 = "d66deed38a0bb20581c15664f0ab62270af5940786855c7adc3087b27168b529",
16-
strip_prefix = "rules_closure-0.11.0",
17-
urls = [
18-
"https://github.com/bazelbuild/rules_closure/archive/0.11.0.tar.gz",
19-
],
9+
strip_prefix = "rules_closure-0.12.0",
10+
url = "https://github.com/bazelbuild/rules_closure/archive/refs/tags/0.12.0.tar.gz",
2011
)
2112

2213
load("@io_bazel_rules_closure//closure:repositories.bzl", "rules_closure_dependencies", "rules_closure_toolchains")
@@ -34,8 +25,8 @@ rules_closure_toolchains()
3425

3526
http_archive(
3627
name = "rules_rust",
37-
integrity = "sha256-Zx3bP+Xrz53TTQUeynNS+68z+lO/Ye7Qt1pMNIKeVIA=",
38-
urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.52.2/rules_rust-v0.52.2.tar.gz"],
28+
integrity = "sha256-eEXiHXSGUH6qD1bdI5KXZ/B04m0wIUeoyM7pmujzbbQ=",
29+
urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.55.5/rules_rust-0.55.5.tar.gz"],
3930
)
4031

4132
load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")

0 commit comments

Comments
 (0)