Skip to content

Commit a5187d9

Browse files
Merge branch 'SeleniumHQ:trunk' into trunk
2 parents 3ffe326 + 4b7d174 commit a5187d9

File tree

1,511 files changed

+48571
-29448
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,511 files changed

+48571
-29448
lines changed

.bazelrc

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ build --nobuild_runfile_links
3939

4040
# More JS magic
4141
build --experimental_allow_unresolved_symlinks
42+
# Avoid a warning about directory tracking being unsound
43+
startup --host_jvm_args=-DBAZEL_TRACK_SOURCE_DIRECTORIES=1
4244

4345
# Required for faster TS builds
4446
build --@aspect_rules_ts//ts:skipLibCheck=always
@@ -90,6 +92,7 @@ test --test_env=JRUBY_OPTS="--dev"
9092

9193
# Expose necessary variables for Selenium-Manager.
9294

95+
test:windows --test_env=PATH
9396
test:windows --test_env=LOCALAPPDATA
9497
test:windows --test_env=PROGRAMFILES="C:\\Program Files"
9598
test:windows --test_env=PROGRAMFILES(X86)="C:\\Program Files (x86)"
@@ -99,9 +102,14 @@ test --test_timeout=1800
99102
test:node_debug --test_output=streamed --test_strategy=exclusive --test_timeout=9999 --nocache_test_results
100103
test:ruby_debug --test_output=streamed --test_env=RUBY_DEBUG_FORK_MODE=parent --run_under="@bundle//bin:rdbg --nonstop --open --command"
101104

102-
build:release --config=remote
105+
103106
build:release --stamp
104-
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
105113

106114
# RBE
107115
import %workspace%/.bazelrc.remote

.bazelrc.remote

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ build:remote --remote_cache=grpcs://gypsum.cluster.engflow.com
77
# The number of cores available
88
build:remote -j 50
99

10-
# Build Without The Bytes
11-
build:remote --remote_download_minimal
12-
1310
build:remote --define=EXECUTOR=remote
1411
build:remote --experimental_inmemory_dotd_files
1512
build:remote --experimental_inmemory_jdeps_files
@@ -43,7 +40,7 @@ test:remote --test_env=PATH=/bin:/usr/bin:/usr/local/bin
4340
test:remote --test_env=HOME=/home/dev
4441

4542
# Make sure we sniff credentials properly
46-
build:remote --credential_helper=%workspace%/scripts/credential-helper.sh
43+
build:remote --credential_helper=gypsum.cluster.engflow.com=%workspace%/scripts/credential-helper.sh
4744

4845
# Use pinned browsers when running remotely
4946
build:remote --//common:pin_browsers
@@ -64,6 +61,7 @@ test:remote --test_timeout=600
6461
build:remote-ci --config=remote
6562
build:remote-ci --curses=no --color=yes --show_timestamps --show_progress_rate_limit=5
6663
build:remote-ci --bes_upload_mode=wait_for_upload_complete
64+
build:remote-ci --remote_download_minimal
6765

6866
# Configuration changes suggested by EngFlow
6967
build:remote --grpc_keepalive_time=30s

.bazelversion

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

.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

.github/workflows/bazel.yml

Lines changed: 6 additions & 19 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 }}
@@ -116,7 +116,7 @@ jobs:
116116
node-version: ${{ inputs.node-version }}
117117
- name: Setup Bazel with caching
118118
if: inputs.caching
119-
uses: bazel-contrib/setup-bazel@0.8.1
119+
uses: bazel-contrib/setup-bazel@0.9.1
120120
with:
121121
bazelisk-cache: true
122122
bazelrc: common --color=yes
@@ -130,7 +130,7 @@ jobs:
130130
repository-cache: true
131131
- name: Setup Bazel without caching
132132
if: inputs.caching == false
133-
uses: bazel-contrib/setup-bazel@0.8.1
133+
uses: bazel-contrib/setup-bazel@0.9.1
134134
with:
135135
bazelrc: common --color=yes
136136
- name: Setup Fluxbox and Xvfb
@@ -143,25 +143,12 @@ jobs:
143143
- name: Set resolution
144144
if: inputs.os == 'windows' && inputs.browser != ''
145145
run: Set-DisplayResolution -Width 1920 -Height 1080 -Force
146-
- name: Setup Chrome
147-
if: inputs.browser == 'chrome'
148-
uses: browser-actions/setup-chrome@latest
149-
with:
150-
chrome-version: ${{ inputs.browser-version || 'stable' }}
151-
- name: Setup Firefox
152-
if: inputs.browser == 'firefox'
153-
uses: abhi1693/[email protected]
154-
with:
155-
browser: firefox
156-
version: ${{ inputs.browser-version || 'latest' }}
157-
- name: Setup Edge
158-
if: inputs.browser == 'edge'
159-
uses: browser-actions/setup-edge@latest
160-
with:
161-
edge-version: ${{ inputs.browser-version || 'stable' }}
162146
- name: Setup Safari
163147
if: inputs.browser == 'safari'
164148
run: sudo safaridriver --enable
149+
- name: Setup curl for Ubuntu
150+
if: inputs.os == 'ubuntu'
151+
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
165152
- name: Run Bazel
166153
run: ${{ inputs.run }}
167154
- 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-javascript.yml

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

.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 }}

0 commit comments

Comments
 (0)