Skip to content

Commit 1e57f88

Browse files
Merge branch 'trunk' into recordClass
2 parents 07f128f + 9a53f27 commit 1e57f88

File tree

1,825 files changed

+55691
-63713
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,825 files changed

+55691
-63713
lines changed

.bazelrc

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ try-import %workspace%/.bazelrc.windows.local
88
# https://github.com/bazelbuild/bazel/issues/20369
99
# https://github.com/bazelbuild/bazel/issues/21491
1010

11-
common --enable_bzlmod --lockfile_mode=off
11+
common --lockfile_mode=off
12+
13+
# Prepare for Bazel 8. These become the default in 8.0.0
14+
common --incompatible_disallow_empty_glob
15+
common --incompatible_use_plus_in_repo_names
1216

1317
# Ensure Windows support is accurate.
1418

@@ -30,10 +34,12 @@ build --tool_java_runtime_version=remotejdk_17
3034
build --javacopt="--release 11"
3135

3236
# Require java dependencies to be used and first-order
33-
3437
build --experimental_strict_java_deps=strict
3538
build --explicit_java_test_deps
3639

40+
# Avoid ErrorProne getting annoyed about "impossible null checks"
41+
build --javacopt="-Xep:ImpossibleNullComparison:OFF"
42+
3743
# Allow spaces in runfile paths
3844
build --nobuild_runfile_links
3945

@@ -55,6 +61,11 @@ query --@aspect_rules_ts//ts:default_to_tsc_transpiler
5561

5662
build --incompatible_strict_action_env
5763

64+
# Required to get `protobuf` compiling, which is required for `rules_closure`
65+
build --incompatible_enable_cc_toolchain_resolution
66+
build --cxxopt=-std=c++14
67+
build --host_cxxopt=-std=c++14
68+
5869
# For build stamping
5970

6071
build --enable_platform_specific_config
@@ -94,6 +105,7 @@ test --test_env=JRUBY_OPTS="--dev"
94105

95106
test:windows --test_env=PATH
96107
test:windows --test_env=LOCALAPPDATA
108+
test:windows --test_env=PROCESSOR_ARCHITECTURE
97109
test:windows --test_env=PROGRAMFILES="C:\\Program Files"
98110
test:windows --test_env=PROGRAMFILES(X86)="C:\\Program Files (x86)"
99111

@@ -102,8 +114,14 @@ test --test_timeout=1800
102114
test:node_debug --test_output=streamed --test_strategy=exclusive --test_timeout=9999 --nocache_test_results
103115
test:ruby_debug --test_output=streamed --test_env=RUBY_DEBUG_FORK_MODE=parent --run_under="@bundle//bin:rdbg --nonstop --open --command"
104116

105-
build:release --config=remote
117+
106118
build:release --stamp
119+
build:release --compilation_mode=opt
120+
121+
# As regular `release` but all the build work happens on the RBE
122+
build:remote_release --config=release
123+
build:remote_release --config=remote
124+
build:remote_release --remote_download_toplevel
107125

108126
# RBE
109127
import %workspace%/.bazelrc.remote

.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7.2.0
1+
7.4.1

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,8 @@
44
Before submitting your PR, please check our [contributing](https://github.com/SeleniumHQ/selenium/blob/trunk/CONTRIBUTING.md) guidelines.
55
Avoid large PRs, help reviewers by making them as simple and short as possible.
66

7-
87
<!--- Provide a general summary of your changes in the Title above -->
98

10-
### Description
11-
<!--- Describe your changes in detail -->
12-
139
### Motivation and Context
1410
<!--- Why is this change required? What problem does it solve? -->
1511

.github/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
changelog:
22
exclude:
33
labels:
4-
-dependencies
4+
- dependencies
55
authors:
66
- selenium-ci

.github/workflows/bazel.yml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ on:
7070
jobs:
7171
bazel:
7272
name: ${{ inputs.name }}
73-
runs-on: ${{ inputs.os == 'macos' && 'macos-13' || format('{0}-latest', inputs.os) }}
73+
runs-on: ${{ contains(inputs.os, '-') && inputs.os || format('{0}-latest', inputs.os) }}
7474
env:
7575
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7676
SEL_M2_USER: ${{ secrets.SEL_M2_USER }}
@@ -82,6 +82,12 @@ jobs:
8282
steps:
8383
- name: Checkout source tree
8484
uses: actions/checkout@v4
85+
- name: Pull latest changes from head ref for PRs
86+
if: contains(github.head_ref, 'renovate/')
87+
run: git pull origin ${{ github.head_ref }}
88+
- name: Pull latest changes from ref for branch pushes
89+
if: contains(github.ref, 'renovate/')
90+
run: git pull origin ${{ github.ref }}
8591
- name: Free space
8692
if: inputs.os != 'windows'
8793
run: ./scripts/github-actions/free-disk-space.sh
@@ -116,7 +122,7 @@ jobs:
116122
node-version: ${{ inputs.node-version }}
117123
- name: Setup Bazel with caching
118124
if: inputs.caching
119-
uses: bazel-contrib/setup-bazel@0.8.5
125+
uses: bazel-contrib/setup-bazel@0.13.0
120126
with:
121127
bazelisk-cache: true
122128
bazelrc: common --color=yes
@@ -126,11 +132,11 @@ jobs:
126132
name: ${{ inputs.cache-key }}
127133
manifest:
128134
crates: rust/Cargo.Bazel.lock
129-
rules_ruby~~ruby~ruby: ${{ inputs.os == 'windows' && 'false' || 'rb/.ruby-version' }}
135+
rules_ruby++ruby+ruby: ${{ inputs.os == 'windows' && 'false' || 'rb/.ruby-version' }}
130136
repository-cache: true
131137
- name: Setup Bazel without caching
132138
if: inputs.caching == false
133-
uses: bazel-contrib/setup-bazel@0.8.5
139+
uses: bazel-contrib/setup-bazel@0.13.0
134140
with:
135141
bazelrc: common --color=yes
136142
- name: Setup Fluxbox and Xvfb
@@ -146,6 +152,9 @@ jobs:
146152
- name: Setup Safari
147153
if: inputs.browser == 'safari'
148154
run: sudo safaridriver --enable
155+
- name: Setup curl for Ubuntu
156+
if: inputs.os == 'ubuntu'
157+
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
149158
- name: Run Bazel
150159
run: ${{ inputs.run }}
151160
- name: Start SSH session

.github/workflows/ci-dotnet.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@ jobs:
2323
java-version: 17
2424
os: windows
2525
run: |
26+
fsutil 8dot3name set 0
2627
bazel test //dotnet/test/common:ElementFindingTest-firefox //dotnet/test/common:ElementFindingTest-chrome --pin_browsers=true

.github/workflows/ci-java.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
# https://github.com/bazelbuild/rules_jvm_external/issues/1046
2323
java-version: 17
2424
run: |
25+
fsutil 8dot3name set 0
2526
bazel test --flaky_test_attempts 3 //java/test/org/openqa/selenium/chrome:ChromeDriverFunctionalTest `
2627
//java/test/org/openqa/selenium/federatedcredentialmanagement:FederatedCredentialManagementTest `
2728
//java/test/org/openqa/selenium/firefox:FirefoxDriverBuilderTest `

.github/workflows/ci-python.yml

Lines changed: 58 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ jobs:
1616
docs:
1717
name: Documentation
1818
needs: build
19-
runs-on: ubuntu-20.04
19+
runs-on: ubuntu-latest
2020
steps:
2121
- name: Checkout source tree
2222
uses: actions/checkout@v4
23-
- name: Set up Python 3.8
23+
- name: Set up Python 3.9
2424
uses: actions/setup-python@v4
2525
with:
26-
python-version: 3.8
26+
python-version: 3.9
2727
- name: Install dependencies
2828
run: |
2929
python -m pip install --upgrade pip
@@ -36,14 +36,14 @@ jobs:
3636
lint:
3737
name: Lint
3838
needs: build
39-
runs-on: ubuntu-20.04
39+
runs-on: ubuntu-latest
4040
steps:
4141
- name: Checkout source tree
4242
uses: actions/checkout@v4
43-
- name: Set up Python 3.8
43+
- name: Set up Python 3.9
4444
uses: actions/setup-python@v4
4545
with:
46-
python-version: 3.8
46+
python-version: 3.9
4747
- name: Install dependencies
4848
run: |
4949
python -m pip install --upgrade pip
@@ -58,14 +58,14 @@ jobs:
5858
mypy:
5959
name: Mypy
6060
needs: build
61-
runs-on: ubuntu-20.04
61+
runs-on: ubuntu-latest
6262
steps:
6363
- name: Checkout source tree
6464
uses: actions/checkout@v4
65-
- name: Set up Python 3.8
65+
- name: Set up Python 3.9
6666
uses: actions/setup-python@v4
6767
with:
68-
python-version: 3.8
68+
python-version: 3.9
6969
- name: Install dependencies
7070
run: |
7171
python -m pip install --upgrade pip
@@ -81,8 +81,54 @@ jobs:
8181
name: Remote Tests
8282
needs: build
8383
uses: ./.github/workflows/bazel.yml
84+
strategy:
85+
fail-fast: false
86+
matrix:
87+
include:
88+
- browser: firefox
8489
with:
85-
name: Integration Tests (remote)
86-
browser: firefox
87-
cache-key: py-remote
90+
name: Integration Tests (remote, ${{ matrix.browser }})
91+
browser: ${{ matrix.browser }}
92+
cache-key: py-remote-${{ matrix.browser }}
8893
run: bazel test --local_test_jobs 1 --flaky_test_attempts 3 //py:test-remote
94+
95+
browser-tests:
96+
name: Browser Tests
97+
needs: build
98+
uses: ./.github/workflows/bazel.yml
99+
strategy:
100+
fail-fast: false
101+
matrix:
102+
include:
103+
- browser: chrome
104+
os: ubuntu
105+
- browser: edge
106+
os: ubuntu
107+
- browser: firefox
108+
os: ubuntu
109+
with:
110+
name: Integration Tests (${{ matrix.browser }}, ${{ matrix.os }})
111+
browser: ${{ matrix.browser }}
112+
os: ${{ matrix.os }}
113+
cache-key: py-browser-${{ matrix.browser }}
114+
run: |
115+
bazel test --local_test_jobs 1 --flaky_test_attempts 3 //py:common-${{ matrix.browser }}-bidi
116+
bazel test --local_test_jobs 1 --flaky_test_attempts 3 //py:test-${{ matrix.browser }}
117+
118+
safari-tests:
119+
name: Browser Tests
120+
needs: build
121+
uses: ./.github/workflows/bazel.yml
122+
strategy:
123+
fail-fast: false
124+
matrix:
125+
include:
126+
- browser: safari
127+
os: macos
128+
with:
129+
name: Integration Tests (${{ matrix.browser }}, ${{ matrix.os }})
130+
browser: ${{ matrix.browser }}
131+
os: ${{ matrix.os }}
132+
cache-key: py-browser-${{ matrix.browser }}
133+
run: |
134+
bazel test --local_test_jobs 1 --flaky_test_attempts 3 //py:test-${{ matrix.browser }}

.github/workflows/ci-rbe.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ 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
1717
caching: false
18-
ruby-version: jruby-9.4.5.0
18+
ruby-version: jruby-9.4.12.0
1919
run: ./scripts/github-actions/check-format.sh
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
2727
caching: false
28-
ruby-version: jruby-9.4.5.0
28+
ruby-version: jruby-9.4.12.0
2929
run: ./scripts/github-actions/ci-build.sh
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: RULES_JVM_EXTERNAL_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.12.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.12.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

0 commit comments

Comments
 (0)