Skip to content

Commit 26de897

Browse files
authored
Merge branch 'trunk' into rb-bidi-network-module
2 parents 25845b8 + 37a2e15 commit 26de897

File tree

1,034 files changed

+35586
-32483
lines changed

Some content is hidden

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

1,034 files changed

+35586
-32483
lines changed

.bazelignore

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
buck-out
2+
dotnet/test/firefox/bin
3+
dotnet/test/firefox/obj
4+
dotnet/test/edge/bin
5+
dotnet/test/edge/obj
6+
dotnet/test/common/bin
7+
dotnet/test/common/obj
8+
dotnet/test/support/bin
9+
dotnet/test/support/obj
10+
dotnet/test/safari/bin
11+
dotnet/test/safari/obj
12+
dotnet/test/chrome/bin
13+
dotnet/test/chrome/obj
14+
dotnet/test/ie/bin
15+
dotnet/test/ie/obj
16+
dotnet/test/remote/bin
17+
dotnet/test/remote/obj
18+
dotnet/src/support/bin
19+
dotnet/src/support/obj
20+
dotnet/src/webdriver/bin
21+
dotnet/src/webdriver/obj
22+
java/build/production
223
java/client/build
324
java/server/build
425
node_modules
5-
java/build/production

.bazelrc

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ build --flag_alias=headless=//common:headless
1111

1212
# Set the default java toolchain
1313

14-
build --java_language_version=11
15-
build --java_runtime_version=remotejdk_11
16-
build --tool_java_language_version=11
17-
build --tool_java_runtime_version=remotejdk_11
14+
build --java_language_version=17
15+
build --java_runtime_version=remotejdk_17
16+
build --tool_java_language_version=17
17+
build --tool_java_runtime_version=remotejdk_17
1818

19-
# We target java 8 by default
19+
# We target java 11 by default
2020

21-
build --javacopt="--release 8"
21+
build --javacopt="--release 11"
2222

2323
# Require java dependencies to be used and first-order
2424

@@ -114,16 +114,14 @@ build:remote --incompatible_enable_cc_toolchain_resolution
114114
build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
115115
test:remote --test_env=DISPLAY=:99.0
116116
test:remote --test_tag_filters=-edge,-safari,-remote
117-
# Skip tests that we mark specifically as being unable to run on the rbe
118-
test:remote --test_tag_filters=-no-rbe
119117

120118
# Env vars we can hard code
121119
build:remote --action_env=HOME=/home/dev
122120
build:remote --action_env=PATH=/bin:/usr/bin:/usr/local/bin
123121
test:remote --test_env=HOME=/home/dev
124122

125123
# Make sure we sniff credentials properly
126-
build:remote --experimental_credential_helper=%workspace%/scripts/credential-helper.sh
124+
build:remote --credential_helper=%workspace%/scripts/credential-helper.sh
127125

128126
# Use pinned browsers when running remotely
129127
build:remote --//common:pin_browsers
@@ -144,3 +142,7 @@ test:remote --test_timeout=600
144142
build:remote-ci --config=remote
145143
build:remote-ci --curses=no --color=yes --show_timestamps --show_progress_rate_limit=5
146144
build:remote-ci --bes_upload_mode=wait_for_upload_complete
145+
146+
# Configuration changes suggested by EngFlow
147+
build:remote --grpc_keepalive_time=30s
148+
build:remote --nolegacy_important_outputs

.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.1.2
1+
6.3.2

.github/dependabot.yml

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,52 @@ updates:
55
schedule:
66
interval: daily
77
time: '08:00'
8-
open-pull-requests-limit: 99
8+
open-pull-requests-limit: 5
9+
labels:
10+
- "C-build"
11+
- "dependencies"
12+
- package-ecosystem: "npm"
13+
directory: "/"
14+
schedule:
15+
interval: daily
16+
time: '08:00'
17+
open-pull-requests-limit: 10
18+
labels:
19+
- "C-nodejs"
20+
- "dependencies"
21+
- package-ecosystem: "bundler"
22+
directory: "/"
23+
schedule:
24+
interval: daily
25+
time: '08:00'
26+
open-pull-requests-limit: 10
27+
labels:
28+
- "C-rb"
29+
- "dependencies"
30+
- package-ecosystem: "cargo"
31+
directory: "/rust"
32+
schedule:
33+
interval: daily
34+
time: '08:00'
35+
open-pull-requests-limit: 10
36+
labels:
37+
- "C-rust"
38+
- "dependencies"
39+
- package-ecosystem: "pip"
40+
directory: "/py"
41+
schedule:
42+
interval: daily
43+
time: '08:00'
44+
open-pull-requests-limit: 10
45+
labels:
46+
- "C-py"
47+
- "dependencies"
48+
- package-ecosystem: "nuget"
49+
directory: "/dotnet"
50+
schedule:
51+
interval: daily
52+
time: '08:00'
53+
open-pull-requests-limit: 0
54+
labels:
55+
- "C-dotnet"
56+
- "dependencies"

.github/workflows/bazel.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,22 @@ on:
4242
type: string
4343
default: ''
4444
nightly-release-files:
45-
description: Files to upload to the Nightly release tah
45+
description: Files to upload to the Nightly release tag
4646
required: false
4747
type: string
4848
default: ''
4949

5050
jobs:
5151
bazel:
5252
name: ${{ inputs.name }}
53-
# Use windows-latest once https://github.com/actions/runner-images/issues/7662 is fixed.
54-
runs-on: ${{ inputs.os == 'windows' && 'windows-2019' || format('{0}-latest', inputs.os) }}
53+
runs-on: ${{ inputs.os }}-latest
5554
env:
5655
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5756
SEL_M2_USER: ${{ secrets.SEL_M2_USER }}
5857
SEL_M2_PASS: ${{ secrets.SEL_M2_PASS }}
5958
steps:
6059
- name: Checkout source tree
61-
uses: actions/checkout@v3
60+
uses: actions/checkout@v4
6261
- name: Free space
6362
if: inputs.os != 'windows'
6463
run: ./scripts/github-actions/free-disk-space.sh
@@ -120,6 +119,9 @@ jobs:
120119
uses: browser-actions/setup-edge@latest
121120
with:
122121
edge-version: ${{ inputs.browser-version || 'stable' }}
122+
- name: Setup Safari
123+
if: inputs.browser == 'safari'
124+
run: sudo safaridriver --enable
123125
- name: Run Bazel
124126
run: ${{ inputs.run }}
125127
- name: Start SSH session
Lines changed: 83 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,88 +1,138 @@
1-
name: build-selenium-manager
1+
name: Build selenium-manager
22

3-
on: workflow_dispatch
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
debug:
7+
description: 'Include debug symbols in binaries'
8+
required: false
9+
type: boolean
410

511
jobs:
612
win32:
713
name: "[Windows x32] Build selenium-manager"
814
runs-on: windows-latest
9-
env:
10-
RUSTFLAGS: '-Ctarget-feature=+crt-static'
1115
steps:
1216
- name: "Checkout project"
13-
uses: actions/checkout@v3
17+
uses: actions/checkout@v4
1418
- name: "Update Rust"
1519
run: |
1620
rustup update
17-
rustup toolchain install stable-i686-pc-windows-msvc
18-
rustup default stable-i686-pc-windows-msvc
21+
rustup toolchain install stable-i686-pc-windows-gnu
22+
rustup default stable-i686-pc-windows-gnu
1923
rustc -vV
20-
- name: "Build release"
24+
- name: "Build release binary"
25+
if: ${{ inputs.debug == false }}
2126
run: |
2227
cd rust
2328
cargo build --release
24-
- name: "Upload binary"
29+
- name: "Upload release binary"
30+
if: ${{ inputs.debug == false }}
2531
uses: actions/upload-artifact@v3
2632
with:
2733
name: selenium-manager_windows-x32
2834
path: rust/target/release/selenium-manager.exe
2935
retention-days: 6
36+
- name: "Build debug binary"
37+
if: ${{ inputs.debug == true }}
38+
run: |
39+
cd rust
40+
cargo build --profile dev
41+
- name: "Upload debug binary"
42+
if: ${{ inputs.debug == true }}
43+
uses: actions/upload-artifact@v3
44+
with:
45+
name: selenium-manager_windows-x32-debug
46+
path: rust/target/debug/selenium-manager.exe
47+
retention-days: 6
3048

3149
linux64:
3250
name: "[Linux x64] Build selenium-manager"
3351
runs-on: ubuntu-latest
34-
env:
35-
RUSTFLAGS: '-Ctarget-feature=-crt-static'
3652
steps:
3753
- name: "Checkout project"
38-
uses: actions/checkout@v3
54+
uses: actions/checkout@v4
3955
- name: "Update Rust"
4056
run: |
4157
rustup update
4258
rustc -vV
43-
- name: "Install zig"
59+
- name: "Install cross"
4460
run: |
45-
sudo snap install zig --beta --classic
46-
- name: "Build release"
61+
cargo install cross --git https://github.com/cross-rs/cross
62+
cross -V
63+
- name: "Build release binary"
64+
if: ${{ inputs.debug == false }}
4765
run: |
4866
cd rust
49-
cargo install cargo-zigbuild
50-
rustup target add x86_64-unknown-linux-musl
51-
cargo zigbuild --release --target x86_64-unknown-linux-musl
52-
- name: "Tar binary (to keep executable permission)"
53-
run: |
54-
cd rust/target/x86_64-unknown-linux-musl/release
67+
cross build --target x86_64-unknown-linux-musl --release
68+
cd target/x86_64-unknown-linux-musl/release
5569
tar -cvf ../../../../selenium-manager.tar selenium-manager
56-
- name: "Upload binary"
70+
- name: "Upload release binary"
71+
if: ${{ inputs.debug == false }}
5772
uses: actions/upload-artifact@v3
5873
with:
5974
name: selenium-manager_linux-x64
6075
path: selenium-manager.tar
6176
retention-days: 6
77+
- name: "Build debug binary"
78+
if: ${{ inputs.debug == true }}
79+
run: |
80+
cd rust
81+
cross build --target x86_64-unknown-linux-musl --profile dev
82+
cd target/x86_64-unknown-linux-musl/debug
83+
tar -cvf ../../../../selenium-manager.tar selenium-manager
84+
- name: "Upload debug binary"
85+
if: ${{ inputs.debug == true }}
86+
uses: actions/upload-artifact@v3
87+
with:
88+
name: selenium-manager_linux-x64-debug
89+
path: selenium-manager.tar
90+
retention-days: 6
6291

6392
macos64:
64-
name: "[macOS x64] Build selenium-manager"
93+
name: "[macOS x64/arm64] Build selenium-manager"
6594
runs-on: macos-latest
66-
env:
67-
RUSTFLAGS: '-Ctarget-feature=+crt-static'
6895
steps:
6996
- name: "Checkout project"
70-
uses: actions/checkout@v3
97+
uses: actions/checkout@v4
7198
- name: "Update Rust"
7299
run: |
73100
rustup update
101+
rustup target add aarch64-apple-darwin
74102
rustc -vV
75-
- name: "Build release"
103+
- name: "Build release binary"
104+
if: ${{ inputs.debug == false }}
76105
run: |
77106
cd rust
78-
cargo build --release --target x86_64-apple-darwin
79-
- name: "Tar binary (to keep executable permission)"
107+
cargo build --target x86_64-apple-darwin --release
108+
cargo build --target aarch64-apple-darwin --release
109+
lipo -create -output target/selenium-manager \
110+
target/aarch64-apple-darwin/release/selenium-manager \
111+
target/x86_64-apple-darwin/release/selenium-manager
112+
cd target
113+
tar -cvf ../../selenium-manager.tar selenium-manager
114+
- name: "Upload release binary"
115+
if: ${{ inputs.debug == false }}
116+
uses: actions/upload-artifact@v3
117+
with:
118+
name: selenium-manager_macos-universal
119+
path: selenium-manager.tar
120+
retention-days: 6
121+
- name: "Build debug binary"
122+
if: ${{ inputs.debug == true }}
80123
run: |
81-
cd rust/target/x86_64-apple-darwin/release
82-
tar -cvf ../../../../selenium-manager.tar selenium-manager
83-
- name: "Upload binary"
124+
cd rust
125+
cargo build --target x86_64-apple-darwin --profile dev
126+
cargo build --target aarch64-apple-darwin --profile dev
127+
lipo -create -output target/selenium-manager \
128+
target/aarch64-apple-darwin/debug/selenium-manager \
129+
target/x86_64-apple-darwin/debug/selenium-manager
130+
cd target
131+
tar -cvf ../../selenium-manager.tar selenium-manager
132+
- name: "Upload debug binary"
133+
if: ${{ inputs.debug == true }}
84134
uses: actions/upload-artifact@v3
85135
with:
86-
name: selenium-manager_macos-x64
136+
name: selenium-manager_macos-universal-debug
87137
path: selenium-manager.tar
88138
retention-days: 6

.github/workflows/ci-dotnet.yml

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,37 +10,19 @@ jobs:
1010
uses: ./.github/workflows/bazel.yml
1111
with:
1212
name: Build
13-
cache-key: dotnet-build
13+
cache-key: false
1414
os: windows
15-
run: bazel build //dotnet/src/webdriver:package //dotnet/src/support:package
15+
run: |
16+
bazel build //dotnet/src/webdriver --stamp
17+
bazel build //dotnet/src/support --stamp
1618
1719
integration-tests:
1820
name: Browser Tests
19-
needs: build
2021
uses: ./.github/workflows/bazel.yml
21-
strategy:
22-
fail-fast: false
23-
matrix:
24-
driver:
25-
- Chrome
26-
- Firefox
27-
framework:
28-
- net48
29-
- net6.0
30-
- netcoreapp3.1
31-
include:
32-
- driver: Chrome
33-
browser: chrome
34-
- driver: Firefox
35-
browser: chrome
3622
with:
37-
name: Browser Tests (${{ matrix.driver }}, ${{ matrix.framework }})
38-
browser: ${{ matrix.browser }}
39-
cache-key: dotnet-${{ matrix.browser }}-${{ matrix.framework }}
40-
java-version: 11
23+
name: Browser Tests
24+
cache-key: false
25+
java-version: 17
4126
os: windows
4227
run: |
43-
bazel build //dotnet/test/common:${{ matrix.browser }}
44-
$env:ACTIVE_DRIVER_CONFIG = '${{ matrix.driver }}'
45-
cd dotnet
46-
dotnet test test/common/WebDriver.Common.Tests.csproj --framework ${{ matrix.framework }}
28+
bazel test //dotnet/test/common:ElementFindingTest-firefox //dotnet/test/common:ElementFindingTest-chrome --pin_browsers=true --stamp

0 commit comments

Comments
 (0)