Skip to content

Commit a3f778a

Browse files
Merge branch 'trunk' into chrome-fortnightly
2 parents 4b17204 + 597090a commit a3f778a

680 files changed

Lines changed: 22190 additions & 9992 deletions

File tree

Some content is hidden

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

.github/workflows/calibreapp-image-actions.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
github.event.pull_request.head.repo.full_name == github.repository)
3737
steps:
3838
- name: Checkout Branch
39-
uses: actions/checkout@v4
39+
uses: actions/checkout@v6
4040
- name: Compress Images
4141
id: calibre
4242
uses: calibreapp/image-actions@main
@@ -49,7 +49,7 @@ jobs:
4949
if: |
5050
github.event_name != 'pull_request' &&
5151
steps.calibre.outputs.markdown != ''
52-
uses: peter-evans/create-pull-request@v6
52+
uses: peter-evans/create-pull-request@v7
5353
with:
5454
title: Auto Compress Images
5555
branch-suffix: timestamp

.github/workflows/deploy.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,21 @@ on:
44
push:
55
branches:
66
- trunk
7+
workflow_dispatch:
78

89
jobs:
910
deploy:
10-
if: contains(toJson(github.event.commits), '[deploy site]') == true
11-
runs-on: ubuntu-22.04
11+
if: contains(toJson(github.event.commits), '[deploy site]') == true || github.event_name == 'workflow_dispatch'
12+
runs-on: ubuntu-24.04
1213
steps:
1314
- name: Checkout repo
14-
uses: actions/checkout@v4
15+
uses: actions/checkout@v6
1516
with:
1617
fetch-depth: 0
1718
- name: Setup Hugo
1819
uses: peaceiris/actions-hugo@v3
1920
with:
20-
hugo-version: ' 0.125.4'
21+
hugo-version: ' 0.148.2'
2122
extended: true
2223
- name: Build
2324
run: chmod +x build-site.sh && ./build-site.sh

.github/workflows/dotnet-examples.yml

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
runs-on: ${{ format('{0}-latest', matrix.os) }}
3131
steps:
3232
- name: Checkout GitHub repo
33-
uses: actions/checkout@v4
33+
uses: actions/checkout@v6
3434
- name: Remove driver directories Windows
3535
if: matrix.os == 'windows'
3636
run: |
@@ -46,22 +46,24 @@ jobs:
4646
run: Xvfb :99 &
4747
- name: Set up .Net Stable
4848
if: matrix.release == 'stable'
49-
uses: actions/setup-dotnet@v4
49+
uses: actions/setup-dotnet@v5
5050
with:
51-
dotnet-version: 6.x
51+
dotnet-version: 8.x
5252
- name: Set up .Net Nightly
5353
if: matrix.release == 'nightly'
54-
uses: actions/setup-dotnet@v4
54+
uses: actions/setup-dotnet@v5
5555
with:
56-
dotnet-version: 6.x
56+
dotnet-version: 8.x
5757
source-url: https://nuget.pkg.github.com/seleniumhq/index.json
5858
env:
5959
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
6060
- name: Update Nightly version non-Windows
6161
if: matrix.release == 'nightly' && matrix.os != 'windows'
6262
run:
6363
|
64-
latest_nightly=$(./scripts/latest-nightly-version.sh nuget Selenium.WebDriver)
64+
pip install -r ./scripts/requirements.txt
65+
latest_nightly=$(python ./scripts/latest-nightly-version.py nuget Selenium.WebDriver)
66+
echo $latest_nightly
6567
dotnet add examples/dotnet/SeleniumDocs/SeleniumDocs.csproj package Selenium.WebDriver --version $latest_nightly
6668
dotnet add examples/dotnet/SeleniumDocs/SeleniumDocs.csproj package Selenium.Support --version $latest_nightly
6769
env:
@@ -71,21 +73,22 @@ jobs:
7173
shell: pwsh
7274
run:
7375
|
74-
$latest_nightly = ./scripts/latest-nightly-version.ps1 nuget Selenium.WebDriver
76+
pip install -r ./scripts/requirements.txt
77+
$latest_nightly = python ./scripts/latest-nightly-version.py nuget Selenium.WebDriver
7578
dotnet add examples/dotnet/SeleniumDocs/SeleniumDocs.csproj package Selenium.WebDriver --version $latest_nightly
7679
dotnet add examples/dotnet/SeleniumDocs/SeleniumDocs.csproj package Selenium.Support --version $latest_nightly
7780
env:
7881
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7982
- name: Set up Java
80-
uses: actions/setup-java@v4
83+
uses: actions/setup-java@v5
8184
with:
8285
distribution: 'temurin'
8386
java-version: 11
8487
- name: Run tests
85-
uses: nick-fields/[email protected].0
88+
uses: nick-fields/[email protected].2
8689
with:
87-
timeout_minutes: 20
88-
max_attempts: 3
90+
timeout_minutes: 40
91+
max_attempts: 2
8992
command: |
9093
cd examples/dotnet/SeleniumDocs
9194
dotnet test

.github/workflows/java-examples.yml

Lines changed: 67 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ on:
1515
paths:
1616
- 'examples/java/**'
1717

18+
concurrency:
19+
group: ${{ github.workflow }}-${{ github.ref }}
20+
cancel-in-progress: true
21+
1822
env:
1923
DISPLAY: :99
2024
GITHUB_TOKEN: ${{ secrets.SELENIUM_CI_TOKEN }}
@@ -30,7 +34,7 @@ jobs:
3034
runs-on: ${{ format('{0}-latest', matrix.os) }}
3135
steps:
3236
- name: Checkout GitHub repo
33-
uses: actions/checkout@v4
37+
uses: actions/checkout@v6
3438
- name: Remove driver directories Windows
3539
if: matrix.os == 'windows'
3640
run: |
@@ -45,43 +49,82 @@ jobs:
4549
if: matrix.os == 'ubuntu'
4650
run: Xvfb :99 &
4751
- name: Set up Java
48-
uses: actions/setup-java@v4
52+
id: java
53+
uses: actions/setup-java@v5
4954
with:
5055
distribution: 'temurin'
51-
java-version: 11
52-
- name: Run Tests Stable
56+
java-version: 17
57+
- name: Import test cert non-Windows
58+
if: matrix.os != 'windows'
59+
run: sudo keytool -import -noprompt -trustcacerts -alias SeleniumHQ -file examples/java/src/test/resources/tls.crt -keystore ${{ steps.java.outputs.path }}/lib/security/cacerts -storepass changeit
60+
- name: Import test cert Windows
61+
if: matrix.os == 'windows'
62+
run: keytool -import -noprompt -trustcacerts -alias SeleniumHQ -file examples/java/src/test/resources/tls.crt -keystore ${{ steps.java.outputs.path }}/lib/security/cacerts -storepass changeit
63+
- name: Run Tests Stable (in Maven)
64+
if: matrix.release == 'stable'
65+
uses: nick-invision/[email protected]
66+
with:
67+
timeout_minutes: 40
68+
max_attempts: 3
69+
command: |
70+
cd examples/java
71+
mvn -B test -D"jdk.internal.httpclient.disableHostnameVerification=true"
72+
- name: Run Tests Stable (in Gradle)
5373
if: matrix.release == 'stable'
54-
uses: nick-invision/[email protected].0
74+
uses: nick-invision/[email protected].2
5575
with:
56-
timeout_minutes: 20
76+
timeout_minutes: 40
5777
max_attempts: 3
5878
command: |
5979
cd examples/java
60-
mvn -B test
80+
./gradlew test --tests 'dev.selenium.*UsingSeleniumTest'
6181
- name: Run Tests Nightly Linux/macOS
6282
if: matrix.release == 'nightly' && matrix.os != 'windows'
63-
uses: nick-invision/[email protected].0
83+
uses: nick-invision/[email protected].2
6484
with:
65-
timeout_minutes: 20
85+
timeout_minutes: 40
6686
max_attempts: 3
6787
command: |
68-
pip install yq
69-
xml_content=$(curl -sf https://oss.sonatype.org/service/local/repositories/snapshots/content/org/seleniumhq/selenium/selenium-java/)
70-
latest_snapshot=$(echo $xml_content | xq '.content.data."content-item"' | jq -r 'sort_by(.lastModified) | reverse | .[0] | .text')
71-
echo $latest_snapshot
72-
cd examples/java
73-
mvn -B -U test -Dselenium.version="$latest_snapshot"
74-
88+
# Get current selenium.version from Maven
89+
current_version=$(mvn -f examples/java/pom.xml help:evaluate -Dexpression=selenium.version -q -DforceStdout)
90+
echo "Current selenium.version: $current_version"
91+
# If version is in the form X.Y.Z, bump minor and set to SNAPSHOT
92+
if [[ $current_version =~ ^([0-9]+)\.([0-9]+)\.([0-9]+)$ ]]; then
93+
major="${BASH_REMATCH[1]}"
94+
minor="${BASH_REMATCH[2]}"
95+
next_minor=$((minor + 1))
96+
new_version="$major.$next_minor.0-SNAPSHOT"
97+
echo "Using selenium.version $new_version for tests"
98+
cd examples/java
99+
mvn -B -U test -D"jdk.internal.httpclient.disableHostnameVerification=true" -Dselenium.version=$new_version
100+
fi
75101
- name: Run Tests Nightly Windows
76102
if: matrix.release == 'nightly' && matrix.os == 'windows'
77-
uses: nick-invision/[email protected].0
103+
uses: nick-invision/[email protected].2
78104
with:
79-
timeout_minutes: 20
105+
timeout_minutes: 40
80106
max_attempts: 3
81107
command: |
82-
pip install yq
83-
$xml_content = Invoke-WebRequest -Uri "https://oss.sonatype.org/service/local/repositories/snapshots/content/org/seleniumhq/selenium/selenium-java/"
84-
$latest_snapshot = $xml_content.Content | xq '.content.data.\"content-item\"' | jq -r 'sort_by(.lastModified) | reverse | .[0] | .text'
85-
Write-Output $latest_snapshot
86-
cd examples/java
87-
mvn -B -U test "-Dselenium.version=$latest_snapshot"
108+
# Get current selenium.version from Maven
109+
$current_version = & mvn -f examples/java/pom.xml help:evaluate -Dexpression=selenium.version -q -DforceStdout
110+
Write-Output "Current selenium.version: $current_version"
111+
# If version is in the form X.Y.Z, bump minor and set to SNAPSHOT
112+
if ($current_version -match '^([0-9]+)\.([0-9]+)\.([0-9]+)$') {
113+
$major = $matches[1]
114+
$minor = $matches[2]
115+
$next_minor = [int]$minor + 1
116+
$new_version = "$major.$next_minor.0-SNAPSHOT"
117+
Write-Output "Using selenium.version $new_version for tests"
118+
cd examples/java
119+
mvn -B -U test "-Djdk.internal.httpclient.disableHostnameVerification=true" "-Dselenium.version=$new_version"
120+
}
121+
- name: Upload test report
122+
uses: actions/upload-artifact@v6
123+
if: failure()
124+
with:
125+
name: test-report-${{matrix.os}}-${{matrix.release}}
126+
retention-days: 14
127+
path: |
128+
examples/java/target/surefire-reports
129+
examples/java/build/reports
130+
examples/java/build/test-results

.github/workflows/js-examples.yml

Lines changed: 13 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -30,41 +30,7 @@ jobs:
3030
runs-on: ${{ format('{0}-latest', matrix.os) }}
3131
steps:
3232
- name: Checkout GitHub repo
33-
uses: actions/checkout@v4
34-
- name: Install Chrome for set binary test
35-
uses: browser-actions/setup-chrome@v1
36-
with:
37-
chrome-version: stable
38-
id: setup-chrome
39-
- name: Install Edge for set binary test
40-
uses: browser-actions/setup-edge@v1
41-
with:
42-
edge-version: stable
43-
id: setup-edge
44-
- name: Install Firefox for set binary test
45-
if: matrix.os != 'windows'
46-
uses: browser-actions/setup-firefox@v1
47-
with:
48-
firefox-version: latest
49-
id: setup-firefox
50-
- name: Set ENV Windows
51-
if: matrix.os == 'windows'
52-
run: |
53-
echo "CHROME_BIN=${{ steps.setup-chrome.outputs.chrome-path }}" >> $env:GITHUB_ENV
54-
echo "EDGE_BIN=C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" >> $env:GITHUB_ENV
55-
echo "FF_BIN=C:\Program Files (x86)\Mozilla Firefox\firefox-browser.exe" >> $env:GITHUB_ENV
56-
- name: Set ENV Mac
57-
if: matrix.os == 'macos'
58-
run: |
59-
echo "CHROME_BIN=${{ steps.setup-chrome.outputs.chrome-path }}" >> "$GITHUB_ENV"
60-
echo "EDGE_BIN=/Users/runner/hostedtoolcache/msedge/stable/x64/Contents/MacOS/Microsoft Edge" >> "$GITHUB_ENV"
61-
echo "FF_BIN=/Users/runner/hostedtoolcache/firefox/latest/x64/Contents/MacOS/firefox" >> "$GITHUB_ENV"
62-
- name: Set ENV Linux
63-
if: matrix.os == 'ubuntu'
64-
run: |
65-
echo "CHROME_BIN=${{ steps.setup-chrome.outputs.chrome-path }}" >> "$GITHUB_ENV"
66-
echo "EDGE_BIN=/opt/hostedtoolcache/msedge/stable/x64/msedge" >> "$GITHUB_ENV"
67-
echo "FF_BIN=/opt/hostedtoolcache/firefox/latest/x64/firefox" >> "$GITHUB_ENV"
33+
uses: actions/checkout@v6
6834
- name: Remove driver directories Windows
6935
if: matrix.os == 'windows'
7036
run: |
@@ -80,20 +46,22 @@ jobs:
8046
run: Xvfb :99 &
8147
- name: Setup Node Stable
8248
if: matrix.release == 'stable'
83-
uses: actions/setup-node@v4
49+
uses: actions/setup-node@v6
8450
with:
85-
node-version: '18.x'
51+
node-version: '22.x'
8652
- name: Setup Node Nightly
8753
if: matrix.release == 'nightly'
88-
uses: actions/setup-node@v4
54+
uses: actions/setup-node@v6
8955
with:
90-
node-version: '18.x'
56+
node-version: '22.x'
9157
registry-url: 'https://npm.pkg.github.com'
9258
- name: Use Nightly package.json in Ubuntu/macOS
9359
if: matrix.release == 'nightly' && matrix.os != 'windows'
9460
run:
9561
|
96-
latest_nightly=$(./scripts/latest-nightly-version.sh npm selenium-webdriver)
62+
pip install -r ./scripts/requirements.txt
63+
latest_nightly=$(python ./scripts/latest-nightly-version.py npm selenium-webdriver)
64+
echo $latest_nightly
9765
npm install --prefix ./examples/javascript --save selenium-webdriver@npm:@seleniumhq/selenium-webdriver@$latest_nightly
9866
env:
9967
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -102,7 +70,8 @@ jobs:
10270
if: matrix.release == 'nightly' && matrix.os == 'windows'
10371
run:
10472
|
105-
$latest_nightly = ./scripts/latest-nightly-version.ps1 npm selenium-webdriver
73+
pip install -r ./scripts/requirements.txt
74+
$latest_nightly = python ./scripts/latest-nightly-version.py npm selenium-webdriver
10675
npm install --prefix ./examples/javascript --save selenium-webdriver@npm:@seleniumhq/selenium-webdriver@$latest_nightly
10776
env:
10877
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -113,10 +82,10 @@ jobs:
11382
env:
11483
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
11584
- name: Run tests
116-
uses: nick-invision/[email protected].0
85+
uses: nick-invision/[email protected].2
11786
with:
118-
timeout_minutes: 20
119-
max_attempts: 3
87+
timeout_minutes: 40
88+
max_attempts: 2
12089
command: |
12190
cd examples/javascript
12291
npm test

.github/workflows/kotlin-examples.yml

Lines changed: 5 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -29,41 +29,7 @@ jobs:
2929
runs-on: ${{ format('{0}-latest', matrix.os) }}
3030
steps:
3131
- name: Checkout GitHub repo
32-
uses: actions/checkout@v4
33-
- name: Install Chrome for set binary test
34-
uses: browser-actions/setup-chrome@v1
35-
with:
36-
chrome-version: stable
37-
id: setup-chrome
38-
- name: Install Edge for set binary test
39-
uses: browser-actions/setup-edge@v1
40-
with:
41-
edge-version: stable
42-
id: setup-edge
43-
- name: Install Firefox for set binary test
44-
if: matrix.os != 'windows'
45-
uses: browser-actions/setup-firefox@v1
46-
with:
47-
firefox-version: latest
48-
id: setup-firefox
49-
- name: Set ENV Windows
50-
if: matrix.os == 'windows'
51-
run: |
52-
echo "CHROME_BIN=${{ steps.setup-chrome.outputs.chrome-path }}" >> $env:GITHUB_ENV
53-
echo "EDGE_BIN=C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" >> $env:GITHUB_ENV
54-
echo "FF_BIN=C:\Program Files (x86)\Mozilla Firefox\firefox-browser.exe" >> $env:GITHUB_ENV
55-
- name: Set ENV Mac
56-
if: matrix.os == 'macos'
57-
run: |
58-
echo "CHROME_BIN=${{ steps.setup-chrome.outputs.chrome-path }}" >> "$GITHUB_ENV"
59-
echo "EDGE_BIN=/Users/runner/hostedtoolcache/msedge/stable/x64/Contents/MacOS/Microsoft Edge" >> "$GITHUB_ENV"
60-
echo "FF_BIN=/Users/runner/hostedtoolcache/firefox/latest/x64/Contents/MacOS/firefox" >> "$GITHUB_ENV"
61-
- name: Set ENV Linux
62-
if: matrix.os == 'ubuntu'
63-
run: |
64-
echo "CHROME_BIN=${{ steps.setup-chrome.outputs.chrome-path }}" >> "$GITHUB_ENV"
65-
echo "EDGE_BIN=/opt/hostedtoolcache/msedge/stable/x64/msedge" >> "$GITHUB_ENV"
66-
echo "FF_BIN=/opt/hostedtoolcache/firefox/latest/x64/firefox" >> "$GITHUB_ENV"
32+
uses: actions/checkout@v6
6733
- name: Remove driver directories Windows
6834
if: matrix.os == 'windows'
6935
run: |
@@ -78,15 +44,15 @@ jobs:
7844
if: matrix.os == 'ubuntu'
7945
run: Xvfb :99 &
8046
- name: Set up Java
81-
uses: actions/setup-java@v4
47+
uses: actions/setup-java@v5
8248
with:
8349
distribution: 'temurin'
8450
java-version: 11
8551
- name: Run tests
86-
uses: nick-invision/[email protected].0
52+
uses: nick-invision/[email protected].2
8753
with:
88-
timeout_minutes: 20
89-
max_attempts: 3
54+
timeout_minutes: 40
55+
max_attempts: 2
9056
command: |
9157
cd examples/kotlin
9258
mvn -B test

0 commit comments

Comments
 (0)