Skip to content

Commit 87d00b3

Browse files
authored
Merge branch 'trunk' into jspecify
2 parents 9558d07 + 269a7f6 commit 87d00b3

File tree

1,163 files changed

+41470
-26692
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,163 files changed

+41470
-26692
lines changed

.bazelrc

Lines changed: 15 additions & 2 deletions
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
@@ -102,8 +109,14 @@ test --test_timeout=1800
102109
test:node_debug --test_output=streamed --test_strategy=exclusive --test_timeout=9999 --nocache_test_results
103110
test:ruby_debug --test_output=streamed --test_env=RUBY_DEBUG_FORK_MODE=parent --run_under="@bundle//bin:rdbg --nonstop --open --command"
104111

105-
build:release --config=remote
112+
106113
build:release --stamp
114+
build:release --compilation_mode=opt
115+
116+
# As regular `release` but all the build work happens on the RBE
117+
build:remote_release --config=release
118+
build:remote_release --config=remote
119+
build:remote_release --remote_download_toplevel
107120

108121
# RBE
109122
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.3.1

.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: 12 additions & 3 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: ${{ 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.9.1
120126
with:
121127
bazelisk-cache: true
122128
bazelrc: common --color=yes
@@ -130,7 +136,7 @@ jobs:
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.9.1
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: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ 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
@@ -36,7 +36,7 @@ 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
@@ -58,7 +58,7 @@ 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
@@ -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.8.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.8.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.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-ruby.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,17 +39,17 @@ jobs:
3939
fail-fast: false
4040
matrix:
4141
include:
42-
- ruby-version: 3.0.6
42+
- ruby-version: 3.1.6
4343
os: ubuntu
44-
- ruby-version: 3.0.6
44+
- ruby-version: 3.1.6
4545
os: windows
46-
- ruby-version: 3.0.6
46+
- ruby-version: 3.1.6
4747
os: macos
48-
- ruby-version: 3.3.0
48+
- ruby-version: 3.3.5
4949
os: ubuntu
50-
- ruby-version: jruby-9.4.5.0
50+
- ruby-version: jruby-9.4.8.0
5151
os: ubuntu
52-
- ruby-version: truffleruby-23.1.1
52+
- ruby-version: truffleruby-24.1.1
5353
os: ubuntu
5454
with:
5555
name: Unit Tests (${{ matrix.ruby-version }}, ${{ matrix.os }})

0 commit comments

Comments
 (0)