Skip to content

Commit 2fdc72a

Browse files
authored
Merge branch 'trunk' into trunk
2 parents 363512f + 5c5487f commit 2fdc72a

File tree

314 files changed

+8694
-6706
lines changed

Some content is hidden

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

314 files changed

+8694
-6706
lines changed

.bazelrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ test --test_env=JRUBY_OPTS="--dev"
9090

9191
# Expose necessary variables for Selenium-Manager.
9292

93+
test:windows --test_env=PATH
9394
test:windows --test_env=LOCALAPPDATA
9495
test:windows --test_env=PROGRAMFILES="C:\\Program Files"
9596
test:windows --test_env=PROGRAMFILES(X86)="C:\\Program Files (x86)"
@@ -101,7 +102,6 @@ test:ruby_debug --test_output=streamed --test_env=RUBY_DEBUG_FORK_MODE=parent --
101102

102103
build:release --config=remote
103104
build:release --stamp
104-
build:release --remote_download_outputs=toplevel
105105

106106
# RBE
107107
import %workspace%/.bazelrc.remote

.bazelrc.remote

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ build:remote --remote_cache=grpcs://gypsum.cluster.engflow.com
77
# The number of cores available
88
build:remote -j 50
99

10-
# Build Without The Bytes
11-
build:remote --remote_download_minimal
12-
1310
build:remote --define=EXECUTOR=remote
1411
build:remote --experimental_inmemory_dotd_files
1512
build:remote --experimental_inmemory_jdeps_files
@@ -64,6 +61,7 @@ test:remote --test_timeout=600
6461
build:remote-ci --config=remote
6562
build:remote-ci --curses=no --color=yes --show_timestamps --show_progress_rate_limit=5
6663
build:remote-ci --bes_upload_mode=wait_for_upload_complete
64+
build:remote-ci --remote_download_minimal
6765

6866
# Configuration changes suggested by EngFlow
6967
build:remote --grpc_keepalive_time=30s

.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7.1.1
1+
7.2.0

.github/dependabot.yml

Lines changed: 0 additions & 56 deletions
This file was deleted.

.github/workflows/bazel.yml

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ jobs:
116116
node-version: ${{ inputs.node-version }}
117117
- name: Setup Bazel with caching
118118
if: inputs.caching
119-
uses: bazel-contrib/[email protected].1
119+
uses: bazel-contrib/[email protected].5
120120
with:
121121
bazelisk-cache: true
122122
bazelrc: common --color=yes
@@ -130,7 +130,7 @@ jobs:
130130
repository-cache: true
131131
- name: Setup Bazel without caching
132132
if: inputs.caching == false
133-
uses: bazel-contrib/[email protected].1
133+
uses: bazel-contrib/[email protected].5
134134
with:
135135
bazelrc: common --color=yes
136136
- name: Setup Fluxbox and Xvfb
@@ -143,22 +143,6 @@ jobs:
143143
- name: Set resolution
144144
if: inputs.os == 'windows' && inputs.browser != ''
145145
run: Set-DisplayResolution -Width 1920 -Height 1080 -Force
146-
- name: Setup Chrome
147-
if: inputs.browser == 'chrome'
148-
uses: browser-actions/setup-chrome@latest
149-
with:
150-
chrome-version: ${{ inputs.browser-version || 'stable' }}
151-
- name: Setup Firefox
152-
if: inputs.browser == 'firefox'
153-
uses: abhi1693/[email protected]
154-
with:
155-
browser: firefox
156-
version: ${{ inputs.browser-version || 'latest' }}
157-
- name: Setup Edge
158-
if: inputs.browser == 'edge'
159-
uses: browser-actions/setup-edge@latest
160-
with:
161-
edge-version: ${{ inputs.browser-version || 'stable' }}
162146
- name: Setup Safari
163147
if: inputs.browser == 'safari'
164148
run: sudo safaridriver --enable

.github/workflows/ci-javascript.yml

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,9 @@ jobs:
1313
cache-key: javascript-build
1414
run: bazel build //javascript/node/selenium-webdriver:selenium-webdriver
1515

16-
small-tests:
17-
name: Small Tests
18-
needs: build
19-
uses: ./.github/workflows/bazel.yml
20-
with:
21-
name: Small Tests
22-
cache-key: javascript-small-tests
23-
run: bazel test //javascript/node/selenium-webdriver:small-tests
24-
2516
browser-tests:
2617
name: Browser Tests
27-
needs: small-tests
18+
needs: build
2819
uses: ./.github/workflows/bazel.yml
2920
strategy:
3021
fail-fast: false

.github/workflows/ci-ruby.yml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ jobs:
7373
- chrome
7474
- edge
7575
- firefox
76-
- safari
7776
os:
7877
- ubuntu
7978
- windows
@@ -83,10 +82,6 @@ jobs:
8382
os: ubuntu
8483
- browser: edge
8584
os: macos
86-
- browser: safari
87-
os: ubuntu
88-
- browser: safari
89-
os: windows
9085
with:
9186
name: Local Tests (${{ matrix.browser }}, ${{ matrix.os }})
9287
browser: ${{ matrix.browser }}
@@ -99,6 +94,7 @@ jobs:
9994
--local_test_jobs 1
10095
--test_size_filters large
10196
--test_tag_filters ${{ matrix.browser }}
97+
${{ matrix.os != 'windows' && '--pin_browsers=true' || '' }}
10298
//rb/spec/...
10399
104100
integration-tests-remote:
@@ -115,8 +111,6 @@ jobs:
115111
os: ubuntu
116112
- browser: firefox
117113
os: ubuntu
118-
- browser: safari
119-
os: macos
120114
with:
121115
name: Remote Tests (${{ matrix.browser }}, ${{ matrix.os }})
122116
browser: ${{ matrix.browser }}
@@ -130,4 +124,5 @@ jobs:
130124
--local_test_jobs 1
131125
--test_size_filters large
132126
--test_tag_filters ${{ matrix.browser }}-remote
127+
${{ matrix.os != 'windows' && '--pin_browsers=true' || '' }}
133128
//rb/spec/...

.github/workflows/ci-rust.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
name: Tests (${{ matrix.os }})
4141
cache-key: rust-test
4242
os: ${{ matrix.os }}
43-
run: bazel test --test_env=RUST_BACKTRACE=1 --flaky_test_attempts=3 //rust/...
43+
run: bazel test --test_env=RUST_BACKTRACE=full --test_env=RUST_TEST_NOCAPTURE=1 --flaky_test_attempts=3 //rust/...
4444

4545
windows-stable:
4646
name: "Windows Stable"

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
with:
2222
fetch-depth: 50
2323
- name: Setup Bazel
24-
uses: bazel-contrib/[email protected].1
24+
uses: bazel-contrib/[email protected].5
2525
with:
2626
bazelisk-cache: true
2727
cache-version: 2

.github/workflows/nightly.yml

Lines changed: 111 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,24 @@ jobs:
3737
cache-key: rb-nightly-${{ matrix.gem }}
3838
run: |
3939
export GEM_HOST_API_KEY="Bearer $GITHUB_TOKEN"
40-
bazel run //rb:${{ matrix.gem }}-bump-nightly-version ${{ inputs.version }}
41-
bazel run //rb:${{ matrix.gem }}-release-nightly
40+
./go rb:release[nightly]
41+
on-ruby-failure:
42+
name: On Ruby Failure
43+
runs-on: ubuntu-latest
44+
if: ${{ always() && (needs.ruby.result == 'failure' || needs.ruby.result == 'timed_out') }}
45+
needs: ruby
46+
steps:
47+
- uses: actions/checkout@v4
48+
- name: Slack Notification
49+
uses: rtCamp/action-slack-notify@v2
50+
env:
51+
SLACK_ICON_EMOJI: ":rotating_light:"
52+
SLACK_COLOR: ${{ needs.ruby.status }}
53+
SLACK_CHANNEL: selenium-tlc
54+
SLACK_USERNAME: GitHub Workflows
55+
SLACK_TITLE: Nightly Ruby ${{ needs.ruby.result }}
56+
MSG_MINIMAL: actions url
57+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
4258

4359
python:
4460
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'python' || github.event_name == 'schedule')
@@ -47,13 +63,25 @@ jobs:
4763
with:
4864
name: Nightly Python Release
4965
cache-key: python-nightly
50-
run: |
51-
./go "py:version[nightly]"
52-
./go py:build
53-
pip install twine
54-
twine upload --repository testpypi bazel-bin/py/selenium-4*.whl bazel-bin/py/selenium-4*.tar.gz
66+
run: ./go py:release[nightly]
5567
secrets: inherit
56-
68+
on-python-failure:
69+
name: On Python Failure
70+
runs-on: ubuntu-latest
71+
if: ${{ always() && (needs.python.result == 'failure' || needs.python.result == 'timed_out') }}
72+
needs: python
73+
steps:
74+
- uses: actions/checkout@v4
75+
- name: Slack Notification
76+
uses: rtCamp/action-slack-notify@v2
77+
env:
78+
SLACK_ICON_EMOJI: ":rotating_light:"
79+
SLACK_COLOR: ${{ needs.python.status }}
80+
SLACK_CHANNEL: selenium-tlc
81+
SLACK_USERNAME: GitHub Workflows
82+
SLACK_TITLE: Nightly Python ${{ needs.python.result }}
83+
MSG_MINIMAL: actions url
84+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
5785

5886
java:
5987
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'java' || github.event_name == 'schedule')
@@ -62,9 +90,25 @@ jobs:
6290
with:
6391
name: Nightly Java Release
6492
cache-key: java-nightly
65-
run: |
66-
./go publish-maven-snapshot
93+
run: ./go java:release[nightly]
6794
secrets: inherit
95+
on-java-failure:
96+
name: On Java Failure
97+
runs-on: ubuntu-latest
98+
if: ${{ always() && (needs.java.result == 'failure' || needs.java.result == 'timed_out') }}
99+
needs: java
100+
steps:
101+
- uses: actions/checkout@v4
102+
- name: Slack Notification
103+
uses: rtCamp/action-slack-notify@v2
104+
env:
105+
SLACK_ICON_EMOJI: ":rotating_light:"
106+
SLACK_COLOR: ${{ needs.java.status }}
107+
SLACK_CHANNEL: selenium-tlc
108+
SLACK_USERNAME: GitHub Workflows
109+
SLACK_TITLE: Nightly Java ${{ needs.java.result }}
110+
MSG_MINIMAL: actions url
111+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
68112

69113
dotnet:
70114
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'dotnet' || github.event_name == 'schedule')
@@ -74,10 +118,25 @@ jobs:
74118
name: Nightly DotNet Release
75119
cache-key: dotnet-nightly
76120
dotnet-version: '6.x'
77-
run: |
78-
./go "dotnet:version[nightly]"
79-
./go dotnet:release
121+
run: ./go dotnet:release[--stamp,nightly]
80122
secrets: inherit
123+
on-dotnet-failure:
124+
name: On .NET Failure
125+
runs-on: ubuntu-latest
126+
if: ${{ always() && (needs.dotnet.result == 'failure' || needs.dotnet.result == 'timed_out') }}
127+
needs: dotnet
128+
steps:
129+
- uses: actions/checkout@v4
130+
- name: Slack Notification
131+
uses: rtCamp/action-slack-notify@v2
132+
env:
133+
SLACK_ICON_EMOJI: ":rotating_light:"
134+
SLACK_COLOR: ${{ needs.dotnet.status }}
135+
SLACK_CHANNEL: selenium-tlc
136+
SLACK_USERNAME: GitHub Workflows
137+
SLACK_TITLE: Nightly .NET ${{ needs.dotnet.result }}
138+
MSG_MINIMAL: actions url
139+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
81140

82141
grid:
83142
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'grid' || github.event_name == 'schedule')
@@ -86,10 +145,25 @@ jobs:
86145
with:
87146
name: Nightly Grid Release
88147
cache-key: grid-nightly
89-
run: |
90-
echo build --stamp >>.bazelrc.local
91-
./go java-release-zip
148+
run: ./go java:package[--config=release]
92149
nightly-release-files: build/dist/*.*
150+
on-grid-failure:
151+
name: On Grid Failure
152+
runs-on: ubuntu-latest
153+
if: ${{ always() && (needs.grid.result == 'failure' || needs.grid.result == 'timed_out') }}
154+
needs: grid
155+
steps:
156+
- uses: actions/checkout@v4
157+
- name: Slack Notification
158+
uses: rtCamp/action-slack-notify@v2
159+
env:
160+
SLACK_ICON_EMOJI: ":rotating_light:"
161+
SLACK_COLOR: ${{ needs.grid.status }}
162+
SLACK_CHANNEL: selenium-tlc
163+
SLACK_USERNAME: GitHub Workflows
164+
SLACK_TITLE: Nightly Grid ${{ needs.grid.result }}
165+
MSG_MINIMAL: actions url
166+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
93167

94168
javascript:
95169
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'javascript' || github.event_name == 'schedule')
@@ -102,9 +176,25 @@ jobs:
102176
run: |
103177
sed -i 's|https://registry.npmjs.org/|https://npm.pkg.github.com|g' javascript/node/selenium-webdriver/package.json
104178
sed -i 's|"name": "selenium-webdriver"|"name": "@seleniumhq/selenium-webdriver"|g' javascript/node/selenium-webdriver/package.json
105-
echo "//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}" >> .npmrc
106-
echo "@seleniumhq:registry=https://npm.pkg.github.com" >> .npmrc
107-
echo "always-auth=true" >> .npmrc
108-
./go "node:version[nightly]"
109-
./go node:release
179+
echo "//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}" >> ~/.npmrc
180+
echo "@seleniumhq:registry=https://npm.pkg.github.com" >> ~/.npmrc
181+
echo "always-auth=true" >> ~/.npmrc
182+
./go node:release[--stamp,nightly]
110183
secrets: inherit
184+
on-javascript-failure:
185+
name: On JavaScript Failure
186+
runs-on: ubuntu-latest
187+
if: ${{ always() && (needs.javascript.result == 'failure' || needs.javascript.result == 'timed_out') }}
188+
needs: javascript
189+
steps:
190+
- uses: actions/checkout@v4
191+
- name: Slack Notification
192+
uses: rtCamp/action-slack-notify@v2
193+
env:
194+
SLACK_ICON_EMOJI: ":rotating_light:"
195+
SLACK_COLOR: ${{ needs.javascript.status }}
196+
SLACK_CHANNEL: selenium-tlc
197+
SLACK_USERNAME: GitHub Workflows
198+
SLACK_TITLE: Nightly JavaScript ${{ needs.javascript.result }}
199+
MSG_MINIMAL: actions url
200+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}

0 commit comments

Comments
 (0)