Skip to content

Commit 20c12ad

Browse files
authored
Merge branch 'trunk' into trunk
2 parents d5d217d + 013443d commit 20c12ad

File tree

1,005 files changed

+27108
-16000
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,005 files changed

+27108
-16000
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

.bazelversion

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

.github/workflows/bazel.yml

Lines changed: 9 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

.github/workflows/ci-python.yml

Lines changed: 47 additions & 12 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,19 +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
8994

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+
90118
safari-tests:
91-
name: Safari Tests
119+
name: Browser Tests
92120
needs: build
93121
uses: ./.github/workflows/bazel.yml
122+
strategy:
123+
fail-fast: false
124+
matrix:
125+
include:
126+
- browser: safari
127+
os: macos
94128
with:
95-
name: Integration Tests (safari)
96-
browser: safari
97-
os: macos
98-
cache-key: py-safari
99-
run: bazel test --local_test_jobs 1 --flaky_test_attempts 3 //py:test-safari
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.8.0
18+
ruby-version: jruby-9.4.9.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.8.0
28+
ruby-version: jruby-9.4.9.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.9.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.9.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: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
os: macos
4848
- ruby-version: 3.3.5
4949
os: ubuntu
50-
- ruby-version: jruby-9.4.8.0
50+
- ruby-version: jruby-9.4.9.0
5151
os: ubuntu
5252
- ruby-version: truffleruby-24.1.1
5353
os: ubuntu

.github/workflows/ci.yml

Lines changed: 10 additions & 1 deletion
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 }}
@@ -21,7 +25,7 @@ jobs:
2125
with:
2226
fetch-depth: 50
2327
- name: Setup Bazel
24-
uses: bazel-contrib/setup-bazel@0.8.5
28+
uses: bazel-contrib/setup-bazel@0.9.1
2529
with:
2630
bazelisk-cache: true
2731
cache-version: 2
@@ -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]')

.github/workflows/label-commenter.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ permissions:
1212
jobs:
1313
comment:
1414
if: github.repository_owner == 'seleniumhq'
15-
runs-on: ubuntu-20.04
15+
runs-on: ubuntu-latest
1616
steps:
1717
- uses: actions/checkout@v4
1818
- name: Label Commenter

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
stale-issue-message: 'This issue is stale because it has been open 280 days with no activity. Remove stale label or comment or this will be closed in 14 days.'
2222
close-issue-message: 'This issue was closed because it has been stalled for 14 days with no activity.'
2323
stale-issue-label: 'I-stale'
24-
days-before-stale: 280
24+
days-before-stale: 180
2525
days-before-close: 14
2626
- uses: actions/stale@v9
2727
with:

0 commit comments

Comments
 (0)