Skip to content

Commit a0a8790

Browse files
authored
Merge branch 'SeleniumHQ:trunk' into network_implementation_python
2 parents 30ffaba + 1318f59 commit a0a8790

File tree

988 files changed

+8843
-24897
lines changed

Some content is hidden

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

988 files changed

+8843
-24897
lines changed

.bazelignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ java/build/production
2323
java/client/build
2424
java/server/build
2525
javascript/grid-ui/node_modules
26-
javascript/node/selenium-webdriver/node_modules
26+
javascript/selenium-webdriver/node_modules
2727
node_modules

.bazelrc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ test --test_env=JRUBY_OPTS="--dev"
105105

106106
test:windows --test_env=PATH
107107
test:windows --test_env=LOCALAPPDATA
108+
test:windows --test_env=PROCESSOR_ARCHITECTURE
108109
test:windows --test_env=PROGRAMFILES="C:\\Program Files"
109110
test:windows --test_env=PROGRAMFILES(X86)="C:\\Program Files (x86)"
110111

@@ -118,9 +119,9 @@ build:release --stamp
118119
build:release --compilation_mode=opt
119120

120121
# As regular `release` but all the build work happens on the RBE
121-
build:remote_release --config=release
122-
build:remote_release --config=remote
123-
build:remote_release --remote_download_toplevel
122+
build:rbe_release --config=release
123+
build:rbe_release --config=rbe
124+
build:rbe_release --remote_download_toplevel
124125

125126
# RBE
126127
import %workspace%/.bazelrc.remote

.bazelrc.remote

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,68 @@
11
# The RBE to use
2-
build:remote --bes_results_url=https://gypsum.cluster.engflow.com/invocation
3-
build:remote --bes_backend=grpcs://gypsum.cluster.engflow.com
4-
build:remote --remote_executor=grpcs://gypsum.cluster.engflow.com
5-
build:remote --remote_cache=grpcs://gypsum.cluster.engflow.com
2+
build:rbe --bes_results_url=https://gypsum.cluster.engflow.com/invocation
3+
build:rbe --bes_backend=grpcs://gypsum.cluster.engflow.com
4+
build:rbe --remote_executor=grpcs://gypsum.cluster.engflow.com
5+
build:rbe --remote_cache=grpcs://gypsum.cluster.engflow.com
66

77
# The number of cores available
8-
build:remote -j 50
8+
build:rbe -j 50
99

10-
build:remote --define=EXECUTOR=remote
11-
build:remote --experimental_inmemory_dotd_files
12-
build:remote --experimental_inmemory_jdeps_files
13-
build:remote --remote_timeout=3600
14-
build:remote --spawn_strategy=remote,local
15-
#build:remote --nolegacy_important_outputs
16-
build:remote --incompatible_strict_action_env=true
10+
build:rbe --define=EXECUTOR=remote
11+
build:rbe --experimental_inmemory_dotd_files
12+
build:rbe --experimental_inmemory_jdeps_files
13+
build:rbe --remote_timeout=3600
14+
build:rbe --spawn_strategy=remote,local
15+
#build:rbe --nolegacy_important_outputs
16+
build:rbe --incompatible_strict_action_env=true
1717

18-
build:remote --crosstool_top=//common/remote-build/cc:toolchain
19-
build:remote --extra_execution_platforms=//common/remote-build:platform
20-
build:remote --extra_toolchains=//common/remote-build:cc-toolchain
21-
build:remote --host_platform=//common/remote-build:platform
22-
build:remote --platforms=//common/remote-build:platform
23-
build:remote --cxxopt=-std=c++14
18+
build:rbe --crosstool_top=//common/remote-build/cc:toolchain
19+
build:rbe --extra_execution_platforms=//common/remote-build:platform
20+
build:rbe --extra_toolchains=//common/remote-build:cc-toolchain
21+
build:rbe --host_platform=//common/remote-build:platform
22+
build:rbe --platforms=//common/remote-build:platform
23+
build:rbe --cxxopt=-std=c++14
2424

2525
# The Docker images are running Linux
26-
build:remote --cpu=k8
27-
build:remote --host_cpu=k8
26+
build:rbe --cpu=k8
27+
build:rbe --host_cpu=k8
2828

29-
build:remote --disk_cache=
29+
build:rbe --disk_cache=
3030

31-
build:remote --incompatible_enable_cc_toolchain_resolution
32-
build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
33-
test:remote --test_env=DISPLAY=:99.0
34-
test:remote --test_tag_filters=-skip-remote,-remote
31+
build:rbe --incompatible_enable_cc_toolchain_resolution
32+
build:rbe --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
33+
test:rbe --test_env=DISPLAY=:99.0
34+
test:rbe --test_tag_filters=-exclusive-if-local,-skip-rbe,-remote
3535

3636
# Env vars we can hard code
37-
build:remote --action_env=HOME=/home/dev
38-
build:remote --action_env=PATH=/bin:/usr/bin:/usr/local/bin
39-
test:remote --test_env=PATH=/bin:/usr/bin:/usr/local/bin
40-
test:remote --test_env=HOME=/home/dev
37+
build:rbe --action_env=HOME=/home/dev
38+
build:rbe --action_env=PATH=/bin:/usr/bin:/usr/local/bin
39+
test:rbe --test_env=PATH=/bin:/usr/bin:/usr/local/bin
40+
test:rbe --test_env=HOME=/home/dev
4141

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

4545
# Use pinned browsers when running remotely
46-
build:remote --//common:pin_browsers
46+
build:rbe --//common:pin_browsers
4747

4848
# The remote build machines are pretty small, and 50 threads may leave them
4949
# thrashing, but our dev machines are a lot larger. Scale the workload so we
5050
# make reasonable usage of everything, everywhere, all at once.
51-
build:remote --local_resources=cpu='HOST_CPUS*10'
52-
build:remote --local_resources=memory='HOST_RAM*4.0'
51+
build:rbe --local_resources=cpu='HOST_CPUS*10'
52+
build:rbe --local_resources=memory='HOST_RAM*4.0'
5353

5454
# A small hint that we're running our tests remotely
55-
test:remote --test_env=REMOTE_BUILD=1
55+
test:rbe --test_env=REMOTE_BUILD=1
5656

5757
# Wait for up to 5 minutes for a test to pass
58-
test:remote --test_timeout=600
58+
test:rbe --test_timeout=600
5959

6060
# Extend the remote config for CI
61-
build:remote-ci --config=remote
62-
build:remote-ci --curses=no --color=yes --show_timestamps --show_progress_rate_limit=5
63-
build:remote-ci --bes_upload_mode=wait_for_upload_complete
64-
build:remote-ci --remote_download_minimal
61+
build:rbe-ci --config=rbe
62+
build:rbe-ci --curses=no --color=yes --show_timestamps --show_progress_rate_limit=5
63+
build:rbe-ci --bes_upload_mode=wait_for_upload_complete
64+
build:rbe-ci --remote_download_minimal
6565

6666
# Configuration changes suggested by EngFlow
67-
build:remote --grpc_keepalive_time=30s
68-
build:remote --nolegacy_important_outputs
67+
build:rbe --grpc_keepalive_time=30s
68+
build:rbe --nolegacy_important_outputs

.github/workflows/bazel.yml

Lines changed: 4 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: ${{ 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 }}
@@ -122,7 +122,7 @@ jobs:
122122
node-version: ${{ inputs.node-version }}
123123
- name: Setup Bazel with caching
124124
if: inputs.caching
125-
uses: bazel-contrib/setup-bazel@0.9.1
125+
uses: bazel-contrib/setup-bazel@0.13.0
126126
with:
127127
bazelisk-cache: true
128128
bazelrc: common --color=yes
@@ -132,11 +132,11 @@ jobs:
132132
name: ${{ inputs.cache-key }}
133133
manifest:
134134
crates: rust/Cargo.Bazel.lock
135-
rules_ruby~~ruby~ruby: ${{ inputs.os == 'windows' && 'false' || 'rb/.ruby-version' }}
135+
rules_ruby++ruby+ruby: ${{ inputs.os == 'windows' && 'false' || 'rb/.ruby-version' }}
136136
repository-cache: true
137137
- name: Setup Bazel without caching
138138
if: inputs.caching == false
139-
uses: bazel-contrib/setup-bazel@0.9.1
139+
uses: bazel-contrib/setup-bazel@0.13.0
140140
with:
141141
bazelrc: common --color=yes
142142
- name: Setup Fluxbox and Xvfb

.github/workflows/ci-rbe.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
with:
1616
name: Check format script run
1717
caching: false
18-
ruby-version: jruby-9.4.9.0
18+
ruby-version: jruby-9.4.12.0
1919
run: ./scripts/github-actions/check-format.sh
2020

2121
test:
@@ -25,5 +25,5 @@ jobs:
2525
with:
2626
name: All RBE tests
2727
caching: false
28-
ruby-version: jruby-9.4.9.0
28+
ruby-version: jruby-9.4.12.0
2929
run: ./scripts/github-actions/ci-build.sh

.github/workflows/ci-renovate-rbe.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
with:
4848
name: Check format script run
4949
caching: false
50-
ruby-version: jruby-9.4.9.0
50+
ruby-version: jruby-9.4.12.0
5151
run: ./scripts/github-actions/check-format.sh
5252

5353
test:
@@ -58,7 +58,7 @@ jobs:
5858
with:
5959
name: All RBE tests
6060
caching: false
61-
ruby-version: jruby-9.4.9.0
61+
ruby-version: jruby-9.4.12.0
6262
run: ./scripts/github-actions/ci-build.sh
6363

6464
ci-gh:

.github/workflows/ci-ruby.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,18 @@ jobs:
4747
os: macos
4848
- ruby-version: 3.3.5
4949
os: ubuntu
50-
- ruby-version: jruby-9.4.9.0
50+
- ruby-version: jruby-9.4.12.0
5151
os: ubuntu
5252
- ruby-version: truffleruby-24.1.1
5353
os: ubuntu
5454
with:
5555
name: Unit Tests (${{ matrix.ruby-version }}, ${{ matrix.os }})
56-
cache-key: rb-unit-test-${{ matrix.ruby-version }}
56+
cache-key: rb-unit-test-${{ matrix.ruby-version }}-${{ matrix.os }}
5757
os: ${{ matrix.os }}
5858
ruby-version: ${{ matrix.ruby-version }}
5959
run: >
6060
bazel test
61+
--keep_going
6162
--build_tests_only
6263
--test_size_filters small
6364
//rb/spec/...
@@ -82,10 +83,11 @@ jobs:
8283
with:
8384
name: Local Tests (${{ matrix.browser }}, ${{ matrix.os }})
8485
browser: ${{ matrix.browser }}
85-
cache-key: rb-${{ matrix.browser }}-test
86+
cache-key: rb-${{ matrix.browser }}-${{ matrix.os }}-test
8687
os: ${{ matrix.os }}
8788
run: >
8889
bazel test
90+
--keep_going
8991
--build_tests_only
9092
--flaky_test_attempts 3
9193
--local_test_jobs 1
@@ -107,11 +109,12 @@ jobs:
107109
with:
108110
name: Remote Tests (${{ matrix.browser }}, ${{ matrix.os }})
109111
browser: ${{ matrix.browser }}
110-
cache-key: rb-remote-${{ matrix.browser }}-test
112+
cache-key: rb-remote-${{ matrix.browser }}-${{ matrix.os }}-test
111113
os: ${{ matrix.os }}
112-
java-version: 11
114+
java-version: 17
113115
run: >
114116
bazel test
117+
--keep_going
115118
--build_tests_only
116119
--flaky_test_attempts 3
117120
--local_test_jobs 1

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
check:
1515
name: Check
1616
if: >
17-
github.repository_owner == 'seleniumhq' &&
17+
github.repository_owner == 'seleniumhq' &&
1818
(startsWith(github.head_ref, 'renovate/') != true || github.event_name == 'workflow_call')
1919
runs-on: ubuntu-latest
2020
outputs:
@@ -25,7 +25,7 @@ jobs:
2525
with:
2626
fetch-depth: 50
2727
- name: Setup Bazel
28-
uses: bazel-contrib/setup-bazel@0.9.1
28+
uses: bazel-contrib/setup-bazel@0.13.0
2929
with:
3030
bazelisk-cache: true
3131
cache-version: 2

.github/workflows/nightly.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,8 @@ jobs:
174174
cache-key: javascript-nightly
175175
node-version: '22.x'
176176
run: |
177-
sed -i 's|https://registry.npmjs.org/|https://npm.pkg.github.com|g' javascript/node/selenium-webdriver/package.json
178-
sed -i 's|"name": "selenium-webdriver"|"name": "@seleniumhq/selenium-webdriver"|g' javascript/node/selenium-webdriver/package.json
177+
sed -i 's|https://registry.npmjs.org/|https://npm.pkg.github.com|g' javascript/selenium-webdriver/package.json
178+
sed -i 's|"name": "selenium-webdriver"|"name": "@seleniumhq/selenium-webdriver"|g' javascript/selenium-webdriver/package.json
179179
echo "//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}" >> ~/.npmrc
180180
echo "@seleniumhq:registry=https://npm.pkg.github.com" >> ~/.npmrc
181181
echo "always-auth=true" >> ~/.npmrc

.github/workflows/pre-release.yml

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666
persist-credentials: false
6767
fetch-depth: 0
6868
fetch-tags: true
69-
ref: release-${{ github.event.inputs.version }}
69+
ref: trunk
7070
- name: Install Ruby
7171
uses: ruby/setup-ruby@v1
7272
with:
@@ -78,14 +78,38 @@ jobs:
7878
run: |
7979
git config --local user.email "[email protected]"
8080
git config --local user.name "Selenium CI Bot"
81-
- name: Undo rust changelog commit
82-
run: git reset HEAD~1
83-
- name: Update everything including early release CDP
84-
if: ${{ github.event.inputs.chrome_channel == 'early-stable' }}
85-
run: ./go all:prepare[${{ github.event.inputs.version }},Beta]
86-
- name: Update everything including released CDP
87-
if: ${{ github.event.inputs.chrome_channel == 'stable' }}
88-
run: ./go "all:prepare[${{ github.event.inputs.version }},Stable]"
81+
- name: Update browser versions
82+
run: ./go update_browsers[${{ github.event.inputs.chrome_channel }}]
83+
- name: Commit browser updates
84+
run: git commit -m "update pinned browser versions"
85+
- name: Update devtools versions
86+
run: ./go all:update_cdp[${{ github.event.inputs.chrome_channel }}]
87+
- name: Commit DevTools updates
88+
run: git commit -m "update devtools versions"
89+
- name: Update Selenium Manager versions
90+
run: ./go update_manager
91+
- name: Commit Selenium Manager updates
92+
run: git commit -m "update selenium manager versions"
93+
- name: Update Maven dependency versions
94+
run: ./go java:update
95+
- name: Commit Maven version updates
96+
run: git commit -m "update maven dependency versions"
97+
- name: Update Authors file
98+
run: ./go authors
99+
- name: Commit Authors updates
100+
run: git commit -m "update authors file"
101+
- name: Bump minor version
102+
run: ./go all:version
103+
- name: Commit version updates
104+
run: git commit -m "bump versions in preparation for release"
105+
- name: Update changelog
106+
run: ./go all:changelog
107+
- name: Commit changelog updates
108+
run: git commit -m "WIP - rough auto-update of changelog, please edit"
109+
- name: List untracked files
110+
run: git status -u
111+
- name: Clean working directory before PR
112+
run: git clean -fd
89113
- name: Create Pull Request
90114
uses: peter-evans/create-pull-request@v6
91115
with:
@@ -99,17 +123,19 @@ jobs:
99123
**Warning: Manually update the changelogs before merging**
100124
101125
This PR:
102-
* Updates Rust version for Selenium Manager release
103126
* Updates Pinned browser version to coincide with new CDP release
104127
* Adds support for new CDP version and removes old CDP version
105128
* Selenium Manager references the new Selenium Manager release
106129
* Updates Maven Dependencies
107130
* Adds new authors to authors file
108131
* Updates all versions for all bindings
109132
* Generates *rough* change logs for each bindings (please tidy them up before merging this)
133+
* Not all commits need to be in the change log — users do not need to see anything about building or testing Selenium
134+
* Remove references to updating versions including nightly
135+
* The code now outputs the complete body of the commit message; make sure the changelog message is complete and correct
110136
111-
- Auto-generated by [create-pull-request][1]
137+
- This PR was auto-generated by workflow run: [release-preparation][1]
112138
113-
[1]: https://github.com/peter-evans/create-pull-request
139+
[1]: https://github.com/SeleniumHQ/selenium/actions/runs/${{ github.run_id }}
114140
labels: C-build
115141
draft: true

0 commit comments

Comments
 (0)