Skip to content

Commit 09a9225

Browse files
committed
[java] run all tests
1 parent 1901810 commit 09a9225

4 files changed

Lines changed: 60 additions & 60 deletions

File tree

.github/workflows/bazel.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ jobs:
8484
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }}
8585
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8686
SE_AVOID_STATS: true
87+
SE_CACHE_PATH: $RUNNER_TEMP/selenium
8788
steps:
8889
- name: Checkout source tree
8990
uses: actions/checkout@v4

.github/workflows/ci-java.yml

Lines changed: 49 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -2,76 +2,67 @@ name: CI - Java
22

33
on:
44
workflow_call:
5+
inputs:
6+
targets:
7+
required: false
8+
type: string
9+
default: ''
10+
run-full-suite:
11+
required: false
12+
type: boolean
13+
default: true
514
workflow_dispatch:
615

716
permissions:
817
contents: read
918

1019
jobs:
11-
browser-tests-windows:
12-
name: Browser Tests
13-
uses: ./.github/workflows/bazel.yml
14-
strategy:
15-
fail-fast: false
16-
matrix:
17-
include:
18-
- os: windows
19-
with:
20-
name: Browser Tests (chrome, ${{ matrix.os }})
21-
os: ${{ matrix.os }}
22-
browser: chrome
23-
# rules_jvm_external is not fully hermetic
24-
# https://github.com/bazelbuild/rules_jvm_external/issues/1046
25-
java-version: 17
26-
run: >
27-
bazel test --flaky_test_attempts 3
28-
//java/test/org/openqa/selenium/chrome:ChromeDriverFunctionalTest
29-
//java/test/org/openqa/selenium/federatedcredentialmanagement:FederatedCredentialManagementTest
30-
//java/test/org/openqa/selenium/firefox:FirefoxDriverBuilderTest
31-
//java/test/org/openqa/selenium/grid/router:RemoteWebDriverDownloadTest
32-
//java/test/org/openqa/selenium/remote:RemoteWebDriverBuilderTest
33-
//java/test/org/openqa/selenium/grid/router:RemoteWebDriverDownloadTest
34-
//java/test/org/openqa/selenium/devtools:NetworkInterceptorRestTest
20+
filter-targets:
21+
name: Filter Targets
22+
runs-on: ubuntu-latest
23+
outputs:
24+
targets: ${{ steps.filter.outputs.targets }}
25+
steps:
26+
- name: Filter Java targets
27+
id: filter
28+
shell: bash
29+
run: |
30+
targets="${{ inputs.targets }}"
31+
filtered=()
3532
36-
browser-tests-macos:
37-
name: Browser Tests
38-
uses: ./.github/workflows/bazel.yml
39-
strategy:
40-
fail-fast: false
41-
matrix:
42-
include:
43-
- os: macos
44-
with:
45-
name: Browser Tests (chrome, ${{ matrix.os }})
46-
os: ${{ matrix.os }}
47-
browser: chrome
48-
# rules_jvm_external is not fully hermetic
49-
# https://github.com/bazelbuild/rules_jvm_external/issues/1046
50-
java-version: 17
51-
run: >
52-
bazel test --flaky_test_attempts 3
53-
//java/test/org/openqa/selenium/chrome:ChromeDriverFunctionalTest-remote
54-
//java/test/org/openqa/selenium/federatedcredentialmanagement:FederatedCredentialManagementTest
55-
//java/test/org/openqa/selenium/firefox:FirefoxDriverBuilderTest
56-
//java/test/org/openqa/selenium/grid/router:RemoteWebDriverDownloadTest
57-
//java/test/org/openqa/selenium/remote:RemoteWebDriverBuilderTest
58-
//java/test/org/openqa/selenium/grid/router:RemoteWebDriverDownloadTest
33+
for t in $targets; do
34+
[[ "$t" == //java/* ]] && filtered+=("$t")
35+
done
5936
60-
remote-tests:
61-
name: Remote Tests
37+
if [ ${#filtered[@]} -eq 0 ]; then
38+
echo "targets=//java/..." >> "$GITHUB_OUTPUT"
39+
else
40+
echo "targets=${filtered[*]}" >> "$GITHUB_OUTPUT"
41+
fi
42+
43+
browser-tests:
44+
name: Browser Tests
45+
needs: filter-targets
6246
uses: ./.github/workflows/bazel.yml
6347
strategy:
6448
fail-fast: false
6549
matrix:
66-
include:
67-
- os: macos
50+
os: [windows, macos]
51+
browser: [chrome, firefox-beta, edge]
52+
run_type: [driver, grid]
6853
with:
69-
name: Remote Tests (chrome, ${{ matrix.os }})
54+
name: Browser Tests (${{ matrix.os }} - ${{ matrix.browser }} - ${{ matrix.run_type }})
7055
os: ${{ matrix.os }}
71-
browser: chrome
72-
# rules_jvm_external is not fully hermetic
73-
# https://github.com/bazelbuild/rules_jvm_external/issues/1046
74-
java-version: 17
56+
browser: ${{ matrix.browser }}
7557
run: >
76-
bazel test --flaky_test_attempts 3
77-
//java/test/org/openqa/selenium/chrome:ChromeDriverFunctionalTest-remote
58+
bazel test
59+
--keep_going
60+
--build_tests_only
61+
--flaky_test_attempts 3
62+
--local_test_jobs 1
63+
--test_size_filters=large
64+
--test_tag_filters="${{ matrix.run_type == 'grid' && format('{0}-remote', matrix.browser) || format('{0},-remote', matrix.browser) }}"
65+
--pin_browsers=false
66+
--test_env=SE_FORCE_BROWSER_DOWNLOAD=true
67+
--test_env=SE_SKIP_DRIVER_IN_PATH=true
68+
${{ needs.filter-targets.outputs.targets }}

.github/workflows/ci.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,20 @@ jobs:
6464
name: Java
6565
needs: check
6666
uses: ./.github/workflows/ci-java.yml
67+
with:
68+
targets: ${{ needs.check.outputs.targets }}
69+
run-full-suite: >-
70+
${{
71+
github.event_name == 'schedule' ||
72+
github.event_name == 'workflow_dispatch' ||
73+
github.event_name == 'workflow_call' ||
74+
contains(github.event.pull_request.title, '[java]')
75+
}}
6776
if: >
6877
github.event_name == 'schedule' ||
6978
github.event_name == 'workflow_dispatch' ||
7079
github.event_name == 'workflow_call' ||
7180
contains(needs.check.outputs.targets, '//java') ||
72-
contains(join(github.event.commits.*.message), '[java]') ||
7381
contains(github.event.pull_request.title, '[java]')
7482
7583
python:

java/private/selenium_test.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ def selenium_test(name, test_class, size = "medium", browsers = DEFAULT_BROWSERS
132132
"-Dselenium.browser.remote=true",
133133
],
134134
# No need to lint remote tests as the code for non-remote is the same and they get linted
135-
tags = BROWSERS[browser]["tags"] + tags + ["remote-browser", "no-lint"],
135+
tags = BROWSERS[browser]["tags"] + tags + ["remote", "%s-remote" % browser, "no-lint"],
136136
data = BROWSERS[browser]["data"] + data + [
137137
"@selenium//java/src/org/openqa/selenium/grid:selenium_server",
138138
],

0 commit comments

Comments
 (0)