Skip to content

Commit 6da695d

Browse files
authored
Merge branch 'trunk' into nullaway
2 parents 4eb71bd + d1836b2 commit 6da695d

File tree

27 files changed

+135
-128
lines changed

27 files changed

+135
-128
lines changed

.github/workflows/stage-release.yml

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ name: Release Staging
33
on:
44
pull_request:
55
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,32 +16,35 @@ 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:
@@ -47,18 +55,17 @@ jobs:
4755
- name: Build and Stage Packages
4856
run: ./go all:package[--config=release]
4957
- name: Generate Draft Release
50-
uses: softprops/action-gh-release@v2
58+
uses: ncipollo/release-action@v1
5159
with:
52-
name: Selenium ${{ env.VERSION }}
53-
body: |
54-
## Detailed Changelogs by Component
55-
<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)**
56-
<br>
57-
tag_name: selenium-${{ env.VERSION }}
60+
artifacts: "build/dist/*.*"
61+
bodyFile: "scripts/github-actions/release_header.md"
5862
draft: true
59-
generate_release_notes: true
63+
generateReleaseNotes: true
64+
name: "Selenium ${{ env.VERSION }}"
6065
prerelease: false
61-
files: build/dist/*.*
66+
skipIfReleaseExists: true
67+
tag: "selenium-${{ env.VERSION }}"
68+
commit: "${{ github.sha }}"
6269

6370
update-documentation:
6471
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

common/mirror/selenium

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,33 @@
33
"tag_name": "nightly",
44
"assets": [
55
{
6-
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-java-4.25.0-SNAPSHOT.zip"
6+
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-java-4.26.0-SNAPSHOT.zip"
77
},
88
{
9-
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.25.0-SNAPSHOT.jar"
9+
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.26.0-SNAPSHOT.jar"
1010
},
1111
{
12-
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.25.0-SNAPSHOT.zip"
12+
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.26.0-SNAPSHOT.zip"
13+
}
14+
]
15+
},
16+
{
17+
"tag_name": "selenium-4.25.0",
18+
"assets": [
19+
{
20+
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.25.0/selenium-dotnet-4.25.0.zip"
21+
},
22+
{
23+
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.25.0/selenium-dotnet-strongnamed-4.25.0.zip"
24+
},
25+
{
26+
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.25.0/selenium-java-4.25.0.zip"
27+
},
28+
{
29+
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.25.0/selenium-server-4.25.0.jar"
30+
},
31+
{
32+
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.25.0/selenium-server-4.25.0.zip"
1333
}
1434
]
1535
},
@@ -938,25 +958,5 @@
938958
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.0.0-rc-1/selenium-server-4.0.0-rc-1.zip"
939959
}
940960
]
941-
},
942-
{
943-
"tag_name": "selenium-4.0.0-beta-4",
944-
"assets": [
945-
{
946-
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.0.0-beta-4/selenium-dotnet-4.0.0-beta-4.zip"
947-
},
948-
{
949-
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.0.0-beta-4/selenium-dotnet-strongnamed-4.0.0-beta-4.zip"
950-
},
951-
{
952-
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.0.0-beta-4/selenium-html-runner-4.0.0-beta-4.jar"
953-
},
954-
{
955-
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.0.0-beta-4/selenium-java-4.0.0-beta-4.zip"
956-
},
957-
{
958-
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.0.0-beta-4/selenium-server-4.0.0-beta-4.jar"
959-
}
960-
]
961961
}
962962
]

common/selenium_manager.bzl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@ def selenium_manager():
77
name = "download_sm_linux",
88
executable = True,
99
sha256 = "d4d775c38f5403d4a719e69903e6f70d15d2454d03da80ad6b82515a4ebfb986",
10-
url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-3769be1/selenium-manager-linux",
10+
url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-dffb534/selenium-manager-linux",
1111
)
1212

1313
http_file(
1414
name = "download_sm_macos",
1515
executable = True,
1616
sha256 = "2d6b20c603c4ca913423b3725cdc7ffa7e6a1554c9c161e3da226b186ba71054",
17-
url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-3769be1/selenium-manager-macos",
17+
url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-dffb534/selenium-manager-macos",
1818
)
1919

2020
http_file(
2121
name = "download_sm_windows",
2222
executable = True,
23-
sha256 = "cd182eeb12e6ecbac95c9cede7f2d5652a7dd56047b4a7a28fb9b3cbabdb72f8",
24-
url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-3769be1/selenium-manager-windows.exe",
23+
sha256 = "58c47a131fd4323c647a95cb37baeafc5a14a536885ccc152457e87a4fd2188d",
24+
url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-dffb534/selenium-manager-windows.exe",
2525
)
2626

2727
def _selenium_manager_artifacts_impl(_ctx):

dotnet/selenium-dotnet-version.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# BUILD FILE SYNTAX: STARLARK
22

3-
SE_VERSION = "4.25.0"
3+
SE_VERSION = "4.26.0-nightly202409202352"
44
ASSEMBLY_VERSION = "4.0.0.0"
55
SUPPORTED_NET_STANDARD_VERSIONS = ["netstandard2.0"]
66

dotnet/src/webdriver/BiDi/Communication/Transport/WebSocketTransport.cs

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ public class WebSocketTransport(Uri _uri) : ITransport, IDisposable
1616
private readonly ClientWebSocket _webSocket = new();
1717
private readonly ArraySegment<byte> _receiveBuffer = new(new byte[1024 * 8]);
1818

19+
private readonly SemaphoreSlim _socketSendSemaphoreSlim = new(1, 1);
20+
1921
public async Task ConnectAsync(CancellationToken cancellationToken)
2022
{
21-
_webSocket.Options.SetBuffer(_receiveBuffer.Count, _receiveBuffer.Count, _receiveBuffer);
2223
await _webSocket.ConnectAsync(_uri, cancellationToken).ConfigureAwait(false);
2324
}
2425

@@ -32,8 +33,9 @@ public async Task<T> ReceiveAsJsonAsync<T>(JsonSerializerOptions jsonSerializerO
3233
{
3334
result = await _webSocket.ReceiveAsync(_receiveBuffer, cancellationToken).ConfigureAwait(false);
3435

35-
await ms.WriteAsync(_receiveBuffer.Array!, _receiveBuffer.Offset, result.Count).ConfigureAwait(false);
36-
} while (!result.EndOfMessage);
36+
await ms.WriteAsync(_receiveBuffer.Array!, _receiveBuffer.Offset, result.Count, cancellationToken).ConfigureAwait(false);
37+
}
38+
while (!result.EndOfMessage);
3739

3840
ms.Seek(0, SeekOrigin.Begin);
3941

@@ -51,12 +53,21 @@ public async Task SendAsJsonAsync(Command command, JsonSerializerOptions jsonSer
5153
{
5254
var buffer = JsonSerializer.SerializeToUtf8Bytes(command, typeof(Command), jsonSerializerOptions);
5355

54-
if (_logger.IsEnabled(LogEventLevel.Trace))
56+
await _socketSendSemaphoreSlim.WaitAsync(cancellationToken);
57+
58+
try
5559
{
56-
_logger.Trace($"BiDi SND >> {buffer.Length} > {Encoding.UTF8.GetString(buffer)}");
57-
}
60+
if (_logger.IsEnabled(LogEventLevel.Trace))
61+
{
62+
_logger.Trace($"BiDi SND >> {buffer.Length} > {Encoding.UTF8.GetString(buffer)}");
63+
}
5864

59-
await _webSocket.SendAsync(new ArraySegment<byte>(buffer), WebSocketMessageType.Text, true, cancellationToken).ConfigureAwait(false);
65+
await _webSocket.SendAsync(new ArraySegment<byte>(buffer), WebSocketMessageType.Text, true, cancellationToken).ConfigureAwait(false);
66+
}
67+
finally
68+
{
69+
_socketSendSemaphoreSlim.Release();
70+
}
6071
}
6172

6273
public void Dispose()

dotnet/src/webdriver/DevTools/DevToolsSession.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ public T GetVersionSpecificDomains<T>() where T : DevToolsSessionDomains
301301
LogTrace("Recieved Error Response {0}: {1} {2}", modified.CommandId, message, errorData);
302302
throw new CommandResponseException(exceptionMessage)
303303
{
304-
Code = modified.Result["code"].GetValue<long>()
304+
Code = modified.Result["code"]?.GetValue<long>() ?? -1
305305
};
306306
}
307307

0 commit comments

Comments
 (0)