Skip to content

Commit e3cf16a

Browse files
authored
Merge branch 'trunk' into bidi-command-typed-result
2 parents 8d4fedd + 702724c commit e3cf16a

Some content is hidden

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

64 files changed

+818
-459
lines changed

.github/ISSUE_TEMPLATE/bug-report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ body:
4949
id: selenium-version
5050
attributes:
5151
label: What version of Selenium are you currently using?
52-
description: Important! The latest released version of Selenium is 4.30 and we can't fix old versions.
52+
description: Important! The latest released version of Selenium is 4.31 and we can't fix old versions.
5353
placeholder: e.g., 4.17.0
5454
validations:
5555
required: true

.github/workflows/nightly.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,16 @@ on:
2121
- grid
2222
- dotnet
2323
- javascript
24+
workflow_call:
25+
inputs:
26+
language:
27+
required: false
28+
type: string
29+
default: "all"
2430

2531
jobs:
2632
ruby:
27-
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'ruby' || github.event_name == 'schedule')
33+
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'ruby' || inputs.language == 'all' || github.event_name == 'schedule')
2834
name: Ruby
2935
uses: ./.github/workflows/bazel.yml
3036
strategy:
@@ -57,7 +63,7 @@ jobs:
5763
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
5864

5965
python:
60-
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'python' || github.event_name == 'schedule')
66+
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'python' || inputs.language == 'all' || github.event_name == 'schedule')
6167
name: Python
6268
uses: ./.github/workflows/bazel.yml
6369
with:
@@ -84,7 +90,7 @@ jobs:
8490
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
8591

8692
java:
87-
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'java' || github.event_name == 'schedule')
93+
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'java' || inputs.language == 'all' || github.event_name == 'schedule')
8894
name: Java
8995
uses: ./.github/workflows/bazel.yml
9096
with:
@@ -111,7 +117,7 @@ jobs:
111117
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
112118

113119
dotnet:
114-
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'dotnet' || github.event_name == 'schedule')
120+
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'dotnet' || inputs.language == 'all' || github.event_name == 'schedule')
115121
name: DotNet
116122
uses: ./.github/workflows/bazel.yml
117123
with:
@@ -139,7 +145,7 @@ jobs:
139145
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
140146

141147
grid:
142-
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'grid' || github.event_name == 'schedule')
148+
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'grid' || inputs.language == 'all' || github.event_name == 'schedule')
143149
name: Grid
144150
uses: ./.github/workflows/bazel.yml
145151
with:
@@ -166,7 +172,7 @@ jobs:
166172
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
167173

168174
javascript:
169-
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'javascript' || github.event_name == 'schedule')
175+
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'javascript' || inputs.language == 'all' || github.event_name == 'schedule')
170176
name: JavaScript
171177
uses: ./.github/workflows/bazel.yml
172178
with:

.github/workflows/stage-release.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ on:
1111

1212
env:
1313
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14-
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
1514

1615
jobs:
1716
github-release:
@@ -29,10 +28,13 @@ jobs:
2928
steps:
3029
- name: Checkout repo
3130
uses: actions/checkout@v4
31+
with:
32+
fetch-depth: 0
3233
- name: Extract version from branch name
3334
if: github.event.pull_request.merged == true
3435
run: |
35-
VERSION=$(echo $BRANCH_NAME | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
36+
TEMP_BRANCH_NAME=${{ github.event.pull_request.head.ref }}
37+
VERSION=$(echo $TEMP_BRANCH_NAME | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
3638
echo "VERSION=$VERSION" >> $GITHUB_ENV
3739
- name: Extract version from workflow input
3840
if: github.event_name == 'workflow_dispatch'
@@ -50,6 +52,14 @@ jobs:
5052
distribution: 'temurin'
5153
- name: Setup curl for Ubuntu
5254
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
55+
- name: Delete nightly tag
56+
run: |
57+
if git rev-parse --verify refs/tags/nightly >/dev/null 2>&1; then
58+
echo "Deleting nightly tag"
59+
git push origin --delete refs/tags/nightly
60+
else
61+
echo "No nightly tag found - nothing to delete"
62+
fi
5363
- name: Build and Stage Packages
5464
run: ./go all:package[--config=release]
5565
- name: Generate Draft Release

.github/workflows/update-docs-after-action.yml

Lines changed: 16 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,51 +2,29 @@ name: Update Version After Docs Merge
22

33
on:
44
pull_request:
5-
types: [closed]
5+
types: [ closed ]
66
branches:
77
- gh-pages
88
paths:
99
- 'docs/api/**'
1010

1111
jobs:
12-
update-version:
13-
if: github.event.pull_request.merged == true && contains(github.event.pull_request.title, 'Update documentation for Selenium')
12+
parse-pr-title:
1413
runs-on: ubuntu-latest
14+
if: github.event.pull_request.merged == true && contains(github.event.pull_request.title, 'Update documentation for Selenium')
15+
outputs:
16+
language: ${{ steps.extract-language.outputs.language }}
1517
steps:
16-
- name: Checkout trunk branch
17-
uses: actions/checkout@v4
18-
with:
19-
ref: trunk
20-
token: ${{ secrets.SELENIUM_CI_TOKEN }}
21-
22-
- name: Setup git
18+
- name: Extract language from PR title
19+
id: extract-language
2320
run: |
24-
git config --local user.email "[email protected]"
25-
git config --local user.name "Selenium CI Bot"
26-
27-
- name: Update versions to nightly
28-
run: ./go all:version nightly
29-
30-
- name: Bump Nightly Versions Pull Request
31-
id: cpr
32-
uses: peter-evans/create-pull-request@v6
33-
with:
34-
token: ${{ secrets.SELENIUM_CI_TOKEN }}
35-
author: Selenium CI Bot <[email protected]>
36-
delete-branch: true
37-
branch: bump-nightly-version
38-
title: Update to nightly versions
39-
body: |
40-
This PR bumps the bindings to nightly versions after merging
41-
the PR updating the API documentation.
21+
PR_TITLE="${{ github.event.pull_request.title }}"
22+
LANGUAGE=$(echo "$PR_TITLE" | grep -o '[^-]*$')
23+
echo "language=$LANGUAGE" >> $GITHUB_OUTPUT
24+
update-version:
25+
needs: parse-pr-title
26+
uses: ./.github/workflows/nightly.yml
27+
with:
28+
language: ${{ needs.parse-pr-title.outputs.language }}
29+
secrets: inherit
4230

43-
- Auto-generated by [workflow run #${{ github.run_id }}](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
44-
labels: B-docs
45-
draft: false
46-
- name: Enable Pull Request Auto-merge
47-
if: steps.cpr.outputs.pull-request-operation == 'created'
48-
uses: peter-evans/enable-pull-request-automerge@v3
49-
with:
50-
token: ${{ secrets.SELENIUM_CI_TOKEN }}
51-
pull-request-number: ${{ steps.cpr.outputs.pull-request-number }}
52-
merge-method: squash

.github/workflows/update-documentation.yml

Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -37,21 +37,7 @@ env:
3737
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3838

3939
jobs:
40-
determine-languages:
41-
runs-on: ubuntu-latest
42-
outputs:
43-
languages: ${{ steps.set-languages.outputs.languages }}
44-
steps:
45-
- id: set-languages
46-
run: |
47-
if [ "${{ inputs.language }}" == "all" ]; then
48-
echo '"languages=java rb py dotnet node" >> $GITHUB_OUTPUT
49-
else
50-
echo "languages=${{ inputs.language }}" >> $GITHUB_OUTPUT
51-
fi
52-
5340
build-docs:
54-
needs: determine-languages
5541
runs-on: ubuntu-latest
5642
steps:
5743
- name: Checkout repository
@@ -67,33 +53,28 @@ jobs:
6753
- name: Setup curl for Ubuntu
6854
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
6955
- name: Setup Java
70-
if: contains(needs.determine-languages.outputs.languages, 'java')
56+
if: ${{ inputs.language == 'java' || inputs.language == 'all' }}
7157
uses: actions/setup-java@v4
7258
with:
7359
java-version: 17
7460
distribution: 'temurin'
7561
- name: Set up Python 3.9
76-
if: contains(needs.determine-languages.outputs.languages, 'py')
62+
if: ${{ inputs.language == 'py' || inputs.language == 'all' }}
7763
uses: actions/setup-python@v5
7864
with:
7965
python-version: 3.9
8066
- name: Install dependencies
81-
if: contains(needs.determine-languages.outputs.languages, 'py')
67+
if: ${{ inputs.language == 'py' || inputs.language == 'all' }}
8268
run: |
8369
python -m pip install --upgrade pip
8470
pip install tox
8571
- name: Install npm dependencies
86-
if: contains(needs.determine-languages.outputs.languages, 'node')
72+
if: ${{ inputs.language == 'node' || inputs.language == 'all' }}
8773
run: |
8874
npm install
8975
npm install --prefix javascript/selenium-webdriver
9076
- name: Generate Documentation for selected langauges
91-
run: |
92-
read -r -a LANGS <<< "${{ needs.determine-languages.outputs.languages }}"
93-
for lang in "${LANGS[@]}"; do
94-
echo "Generating docs for $lang"
95-
./go $lang:docs
96-
done
77+
run: ./go ${{ inputs.language }}:docs
9778
- name: Documentation Pull Request
9879
id: cpr
9980
uses: peter-evans/create-pull-request@v6
@@ -104,10 +85,9 @@ jobs:
10485
branch: api-docs-${{ inputs.version }}
10586
base: gh-pages
10687
add-paths: docs/api/**
107-
title: Update documentation for Selenium ${{ inputs.version }}
88+
title: Update documentation for Selenium ${{ inputs.version }}-${{ inputs.language }}
10889
body: |
109-
This PR updates the API documentation for version **${{ inputs.version }}**.
110-
Languages updated: ${{ needs.determine-languages.outputs.languages }}
90+
This PR updates the API documentation for version **${{ inputs.version }}-${{ inputs.language }}**.
11191
11292
- Auto-generated by [workflow run #${{ github.run_id }}](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
11393
labels: B-docs

AUTHORS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,7 @@ Rob Wu <[email protected]>
746746
Robert Elliot <[email protected]>
747747
Robert Fletcher <[email protected]>
748748
Roberto Rivera <[email protected]>
749+
749750
Robin Stocker <[email protected]>
750751
Rod McNew <[email protected]>
751752
Romain Tartière <[email protected]>
@@ -772,6 +773,7 @@ Sam Uong <[email protected]>
772773
Samit Badle <[email protected]>
773774
Samuel Bétrisey <[email protected]>
774775
Sandeep Suryaprasad <[email protected]>
776+
775777
Sankha Narayan Guria <[email protected]>
776778
Santiago Suarez Ordoñez <[email protected]>
777779
Sarah Bird <[email protected]>

MODULE.bazel

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -171,27 +171,27 @@ maven.install(
171171
name = "maven",
172172
artifacts = [
173173
"com.beust:jcommander:1.82",
174-
"com.github.javaparser:javaparser-core:3.26.3",
174+
"com.github.javaparser:javaparser-core:3.26.4",
175175
"com.github.spotbugs:spotbugs:4.9.3",
176176
"com.github.stephenc.jcip:jcip-annotations:1.0-1",
177177
"com.google.code.findbugs:jsr305:3.0.2",
178178
"com.google.code.gson:gson:2.12.1",
179-
"com.google.guava:guava:33.4.5-jre",
179+
"com.google.guava:guava:33.4.6-jre",
180180
"com.google.auto:auto-common:1.2.2",
181181
"com.google.auto.service:auto-service:1.1.1",
182182
"com.google.auto.service:auto-service-annotations:1.1.1",
183-
"com.google.googlejavaformat:google-java-format:1.25.2",
183+
"com.google.googlejavaformat:google-java-format:1.26.0",
184184
"com.graphql-java:graphql-java:22.3",
185185
"dev.failsafe:failsafe:3.3.2",
186186
"io.grpc:grpc-context:1.71.0",
187187
"io.lettuce:lettuce-core:6.5.5.RELEASE",
188-
"io.netty:netty-buffer:4.1.119.Final",
189-
"io.netty:netty-codec-http:4.1.119.Final",
190-
"io.netty:netty-codec-http2:4.1.119.Final",
191-
"io.netty:netty-common:4.1.119.Final",
192-
"io.netty:netty-handler:4.1.119.Final",
193-
"io.netty:netty-handler-proxy:4.1.119.Final",
194-
"io.netty:netty-transport:4.1.119.Final",
188+
"io.netty:netty-buffer:4.2.0.Final",
189+
"io.netty:netty-codec-http:4.2.0.Final",
190+
"io.netty:netty-codec-http2:4.2.0.Final",
191+
"io.netty:netty-common:4.2.0.Final",
192+
"io.netty:netty-handler:4.2.0.Final",
193+
"io.netty:netty-handler-proxy:4.2.0.Final",
194+
"io.netty:netty-transport:4.2.0.Final",
195195
"io.opentelemetry:opentelemetry-api:1.48.0",
196196
"io.opentelemetry:opentelemetry-context:1.48.0",
197197
"io.opentelemetry:opentelemetry-exporter-logging:1.48.0",
@@ -202,8 +202,8 @@ maven.install(
202202
"io.opentelemetry:opentelemetry-sdk-testing:1.48.0",
203203
"io.opentelemetry:opentelemetry-sdk-trace:1.48.0",
204204
"it.ozimov:embedded-redis:0.7.3",
205-
"net.bytebuddy:byte-buddy:1.17.2",
206-
"org.htmlunit:htmlunit-core-js:4.10.0",
205+
"net.bytebuddy:byte-buddy:1.17.5",
206+
"org.htmlunit:htmlunit-core-js:4.11.0",
207207
"org.apache.commons:commons-exec:1.4.0",
208208
"org.apache.logging.log4j:log4j-core:2.24.3",
209209
"org.assertj:assertj-core:3.27.3",

Rakefile

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ JAVA_RELEASE_TARGETS = %w[
9797
//java/src/org/openqa/selenium/chrome:chrome.publish
9898
//java/src/org/openqa/selenium/chromium:chromium.publish
9999
//java/src/org/openqa/selenium/devtools/v134:v134.publish
100-
//java/src/org/openqa/selenium/devtools/v132:v132.publish
100+
//java/src/org/openqa/selenium/devtools/v135:v135.publish
101101
//java/src/org/openqa/selenium/devtools/v133:v133.publish
102102
//java/src/org/openqa/selenium/edge:edge.publish
103103
//java/src/org/openqa/selenium/firefox:firefox.publish
@@ -1120,11 +1120,11 @@ namespace :all do
11201120

11211121
desc 'Update all API Documentation'
11221122
task :docs do
1123-
Rake::Task['java:docs'].invoke(true)
1124-
Rake::Task['py:docs'].invoke(true)
1125-
Rake::Task['rb:docs'].invoke(true)
1126-
Rake::Task['dotnet:docs'].invoke(true)
1127-
Rake::Task['node:docs'].invoke(true)
1123+
Rake::Task['java:docs'].invoke('skip_update')
1124+
Rake::Task['py:docs'].invoke('skip_update')
1125+
Rake::Task['rb:docs'].invoke('skip_update')
1126+
Rake::Task['dotnet:docs'].invoke('skip_update')
1127+
Rake::Task['node:docs'].invoke('skip_update')
11281128

11291129
update_gh_pages
11301130
end
@@ -1156,11 +1156,6 @@ namespace :all do
11561156
Rake::Task['rb:release'].invoke(*args)
11571157
Rake::Task['dotnet:release'].invoke(*args)
11581158
Rake::Task['node:release'].invoke(*args)
1159-
1160-
unless args.include?('nightly')
1161-
puts 'bump all versions to nightly'
1162-
Rake::Task['all:version'].invoke('nightly')
1163-
end
11641159
end
11651160

11661161
task :lint do

0 commit comments

Comments
 (0)