Skip to content

Commit 3745c62

Browse files
authored
Merge branch 'trunk' into limit-connections
2 parents be01115 + 7f8a532 commit 3745c62

File tree

473 files changed

+14221
-13383
lines changed

Some content is hidden

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

473 files changed

+14221
-13383
lines changed

.bazelrc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,14 @@ test --test_timeout=1800
102102
test:node_debug --test_output=streamed --test_strategy=exclusive --test_timeout=9999 --nocache_test_results
103103
test:ruby_debug --test_output=streamed --test_env=RUBY_DEBUG_FORK_MODE=parent --run_under="@bundle//bin:rdbg --nonstop --open --command"
104104

105-
build:release --config=remote
105+
106106
build:release --stamp
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
107113

108114
# RBE
109115
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/workflows/bazel.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ jobs:
146146
- name: Setup Safari
147147
if: inputs.browser == 'safari'
148148
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
149152
- name: Run Bazel
150153
run: ${{ inputs.run }}
151154
- 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 `
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Delete Comments
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
7+
permissions:
8+
issues: write
9+
10+
jobs:
11+
delete_comment:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Check for specific strings in comment
15+
id: check_comment
16+
uses: actions/github-script@v7
17+
with:
18+
script: |
19+
const comment = context.payload.comment.body;
20+
const triggerStrings = ['www.mediafire.com'];
21+
return triggerStrings.some(triggerString => comment.includes(triggerString));
22+
23+
- name: Delete comment if it contains any of the specific strings
24+
if: steps.check_comment.outputs.result == 'true'
25+
uses: actions/github-script@v7
26+
with:
27+
script: |
28+
const commentId = context.payload.comment.id;
29+
await github.rest.issues.deleteComment({
30+
owner: context.repo.owner,
31+
repo: context.repo.repo,
32+
comment_id: commentId
33+
});
34+
35+
- name: Block user from the org if their comment contained any of the banned strings
36+
if: steps.check_comment.outputs.result == 'true'
37+
uses: actions/github-script@v7
38+
with:
39+
script: |
40+
const username = context.payload.comment.user.login
41+
await github.rest.orgs.blockUser({
42+
org: context.repo.owner,
43+
username: username
44+
});

.github/workflows/pre-release.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ jobs:
7272
with:
7373
ruby-version: '3.1'
7474
working-directory: 'rb'
75+
- name: Setup curl for Ubuntu
76+
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
7577
- name: "Prep git"
7678
run: |
7779
git config --local user.email "[email protected]"

.github/workflows/stage-release.yml

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@ name: Release Staging
22

33
on:
44
pull_request:
5-
types: [closed]
5+
types: [ closed ]
6+
workflow_dispatch:
7+
inputs:
8+
version:
9+
description: 'Selenium version to release'
10+
required: true
611

712
env:
813
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -11,52 +16,56 @@ env:
1116
jobs:
1217
github-release:
1318
if: >
14-
github.event.pull_request.merged == true &&
19+
(github.event.pull_request.merged == true &&
1520
github.repository_owner == 'seleniumhq' &&
16-
startsWith(github.event.pull_request.head.ref, 'release-preparation-')
21+
startsWith(github.event.pull_request.head.ref, 'release-preparation-')) ||
22+
(github.event_name == 'workflow_dispatch' &&
23+
github.event.inputs.version != '' &&
24+
github.repository_owner == 'seleniumhq')
1725
runs-on: ubuntu-latest
26+
permissions: write-all
1827
steps:
1928
- name: Checkout repo
2029
uses: actions/checkout@v4
2130
- name: Extract version from branch name
22-
id: extract_version
31+
if: github.event.pull_request.merged == true
2332
run: |
2433
VERSION=$(echo $BRANCH_NAME | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
2534
echo "VERSION=$VERSION" >> $GITHUB_ENV
35+
- name: Extract version from workflow input
36+
if: github.event_name == 'workflow_dispatch'
37+
run: |
38+
VERSION=${{ inputs.version }}
39+
echo "VERSION=$VERSION" >> $GITHUB_ENV
2640
- name: Prep git
2741
run: |
2842
git config --local user.email "[email protected]"
2943
git config --local user.name "Selenium CI Bot"
30-
- name: Tag Release
31-
run: |
32-
git tag selenium-${{ env.VERSION }}
33-
git push origin selenium-${{ env.VERSION }}
34-
- name: Update Nightly Tag to Remove pre-release
35-
run: |
36-
git fetch --tags
37-
git tag -d nightly || echo "Nightly tag not found"
38-
git tag nightly
39-
git push origin refs/tags/nightly --force
44+
# - name: Tag Release
45+
# run: |
46+
# git tag selenium-${{ env.VERSION }} || echo "Tag already exists"
47+
# git push origin selenium-${{ env.VERSION }} || echo "Tag already exists remotely"
4048
- name: Setup Java
4149
uses: actions/setup-java@v3
4250
with:
4351
java-version: 17
4452
distribution: 'temurin'
53+
- name: Setup curl for Ubuntu
54+
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
4555
- name: Build and Stage Packages
4656
run: ./go all:package[--config=release]
4757
- name: Generate Draft Release
48-
uses: softprops/action-gh-release@v2
58+
uses: ncipollo/release-action@v1
4959
with:
50-
name: Selenium ${{ env.VERSION }}
51-
body: |
52-
## Detailed Changelogs by Component
53-
<img src="https://www.selenium.dev/images/programming/java.svg" width="20" height="20"> **[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)** &nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img src="https://www.selenium.dev/images/programming/python.svg" width="20" height="20"> **[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)** &nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img src="https://www.selenium.dev/images/programming/csharp.svg" width="20" height="20"> **[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)** &nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img src="https://www.selenium.dev/images/programming/ruby.svg" width="20" height="20"> **[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)** &nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img src="https://www.selenium.dev/images/programming/javascript.svg" width="20" height="20"> **[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/node/selenium-webdriver/CHANGES.md)** &nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img src="https://www.selenium.dev/images/browsers/internet-explorer.svg" width="20" height="20"> **[IEDriver](https://github.com/SeleniumHQ/selenium/blob/trunk/cpp/iedriverserver/CHANGELOG)**
54-
<br>
55-
tag_name: selenium-${{ env.VERSION }}
60+
artifacts: "build/dist/*.*"
61+
bodyFile: "scripts/github-actions/release_header.md"
5662
draft: true
57-
generate_release_notes: true
63+
generateReleaseNotes: true
64+
name: "Selenium ${{ env.VERSION }}"
5865
prerelease: false
59-
files: build/dist/*.*
66+
skipIfReleaseExists: true
67+
tag: "selenium-${{ env.VERSION }}"
68+
commit: "${{ github.sha }}"
6069

6170
update-documentation:
6271
needs: github-release

.github/workflows/update-documentation.yml

Lines changed: 18 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
git config --local user.email "[email protected]"
4747
git config --local user.name "Selenium CI Bot"
4848
- name: Setup Java
49-
uses: actions/setup-java@v3
49+
uses: actions/setup-java@v4
5050
with:
5151
java-version: 17
5252
distribution: 'temurin'
@@ -58,7 +58,7 @@ jobs:
5858
git format-patch -1 HEAD --stdout > java-docs.patch
5959
- name: Upload patch
6060
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'java'
61-
uses: actions/upload-artifact@v2
61+
uses: actions/upload-artifact@v4
6262
with:
6363
name: java-docs-patch
6464
path: java-docs.patch
@@ -76,10 +76,12 @@ jobs:
7676
git config --local user.email "[email protected]"
7777
git config --local user.name "Selenium CI Bot"
7878
- name: Setup Java
79-
uses: actions/setup-java@v3
79+
uses: actions/setup-java@v4
8080
with:
8181
java-version: 17
8282
distribution: 'temurin'
83+
- name: Setup curl for Ubuntu
84+
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
8385
- name: Update Documentation
8486
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'ruby'
8587
run: ./go rb:docs
@@ -88,7 +90,7 @@ jobs:
8890
git format-patch -1 HEAD --stdout > ruby-docs.patch
8991
- name: Upload patch
9092
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'ruby'
91-
uses: actions/upload-artifact@v2
93+
uses: actions/upload-artifact@v4
9294
with:
9395
name: ruby-docs-patch
9496
path: ruby-docs.patch
@@ -106,7 +108,7 @@ jobs:
106108
git config --local user.email "[email protected]"
107109
git config --local user.name "Selenium CI Bot"
108110
- name: Set up Python 3.8
109-
uses: actions/setup-python@v4
111+
uses: actions/setup-python@v5
110112
with:
111113
python-version: 3.8
112114
- name: Install dependencies
@@ -121,7 +123,7 @@ jobs:
121123
git format-patch -1 HEAD --stdout > python-docs.patch
122124
- name: Upload patch
123125
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'python'
124-
uses: actions/upload-artifact@v2
126+
uses: actions/upload-artifact@v4
125127
with:
126128
name: python-docs-patch
127129
path: python-docs.patch
@@ -150,7 +152,7 @@ jobs:
150152
git format-patch -1 HEAD --stdout > dotnet-docs.patch
151153
- name: Upload patch
152154
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'dotnet'
153-
uses: actions/upload-artifact@v2
155+
uses: actions/upload-artifact@v4
154156
with:
155157
name: dotnet-docs-patch
156158
path: dotnet-docs.patch
@@ -179,7 +181,7 @@ jobs:
179181
git format-patch -1 HEAD --stdout > node-docs.patch
180182
- name: Upload patch
181183
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'node'
182-
uses: actions/upload-artifact@v2
184+
uses: actions/upload-artifact@v4
183185
with:
184186
name: node-docs-patch
185187
path: node-docs.patch
@@ -192,46 +194,26 @@ jobs:
192194
uses: actions/checkout@v4
193195
with:
194196
ref: 'gh-pages'
197+
fetch-depth: 0
198+
fetch-tags: true
195199
- name: Create and checkout new branch
196200
run: |
197201
git config --local user.email "[email protected]"
198202
git config --local user.name "Selenium CI Bot"
199203
git checkout -b api-docs-${{ inputs.tag }}
200-
- name: Download Java patch
201-
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'java'
202-
uses: actions/download-artifact@v2
203-
with:
204-
name: java-docs-patch
205-
path: patches/
206-
- name: Download Ruby patch
207-
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'ruby'
208-
uses: actions/download-artifact@v2
209-
with:
210-
name: ruby-docs-patch
211-
path: patches/
212-
- name: Download Python patch
213-
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'python'
214-
uses: actions/download-artifact@v2
204+
- name: Download all patches
205+
uses: actions/download-artifact@v4
215206
with:
216-
name: python-docs-patch
217-
path: patches/
218-
- name: Download .NET patch
219-
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'dotnet'
220-
uses: actions/download-artifact@v2
221-
with:
222-
name: dotnet-docs-patch
223-
path: patches/
224-
- name: Download Node patch
225-
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'node'
226-
uses: actions/download-artifact@v2
227-
with:
228-
name: node-docs-patch
229207
path: patches/
208+
merge-multiple: true
209+
- name: Show downloaded patches
210+
run: ls -lah patches/
230211
- name: Apply patches
231212
run: |
232213
for patch in patches/*.patch; do
233214
git am < "$patch"
234215
done
216+
rm -rf patches/
235217
- name: Push Branch
236218
run: git push origin api-docs-${{ inputs.tag }}
237219
- name: Documentation Pull Request

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ py/docs/source/**/*
7878
py/build/
7979
py/LICENSE
8080
py/pytestdebug.log
81+
py/python.iml
8182
selenium.egg-info/
8283
third_party/java/jetty/jetty-repacked.jar
8384
*.user
@@ -140,3 +141,4 @@ javascript/node/selenium-webdriver/.vscode/settings.json
140141

141142
dotnet-bin
142143
.metadata/
144+
.npmrc

0 commit comments

Comments
 (0)