46 Commits

Author SHA1 Message Date
Titus Fortner
f2002fcf3a [dotnet][java][py][rb][rust] Only use External Cache for GitHub Actions (#16788)
* disable repository and directory cache

* cache ruby windows, do not cache pin browsers
2025-12-29 09:20:33 -06:00
Titus Fortner
4d34904f8d [py][build]: consolidate Python CI tests (#16766)
* all browser tests run in one suite

* remove separate headless test - just use the bazel flag for any browser

* move fsutil command for short names on windows to bazel

* maybe unit tests need to be single threaded for windows
2025-12-24 11:27:29 -06:00
Titus Fortner
973dbe6567 [build] add explicit permissions to github workflows (#16774)
* RBE needs to read packages
2025-12-23 11:25:30 -06:00
Titus Fortner
68e7c52291 [build] Pin Browsers in Bazel by default (#16743)
* [build] set pin_browsers to true by default
2025-12-20 10:34:27 -06:00
Navin Chandra
0c17ff17f1 [ci]: remove concurrency checks in child workflows (#16633) 2025-11-25 13:36:41 +05:30
Navin Chandra
470e6fd09d [ci]: cancel previous CI run in case of new commit/push (#16624) 2025-11-24 11:28:50 +05:30
Selenium CI Bot
f4ddfc1332 [dotnet][rb][java][js][py] Automated Browser Version Update (#16064)
* Update pinned browser versions

* [rb] Enabling passing test

* [java] Fixing testShouldDoNothingIfThereIsNothingToGoBackTo

* Fixing more tests

* Running test only for Chrome and Edge

* Executing NetworkInterceptorRestTest in GH runners

* Skipping test for FF beta for now

* Adjusting workflows

---------

Co-authored-by: Selenium CI Bot <selenium-ci@users.noreply.github.com>
Co-authored-by: Diego Molina <diemol@users.noreply.github.com>
Co-authored-by: Diego Molina <diemol@gmail.com>
2025-08-07 22:58:53 +02:00
Navin Chandra
f787770482 [py][java][rb][ci]: use pinned browsers in CI (#15987) 2025-07-02 16:25:13 +05:30
Viet Nguyen Duc
6ea56518b5 [ci] Bazel run on Windows cannot shorten the path enough
Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
2024-10-21 05:02:22 +00:00
Alex Rodionov
8d6c0778ba [ci] Use JDK 17 2024-04-18 09:04:42 -07:00
Diego Molina
35fef2a812 [java] Reties in CI for Java tests 2024-03-25 17:34:15 +01:00
Diego Molina
d96cc717a8 [java] This is already being tested on the other jobs 2024-03-25 13:51:46 +01:00
Diego Molina
5be82f7cd1 [java] Skipping FederatedCredentialManagementTest tests 2024-03-25 12:17:41 +01:00
Diego Molina
2031018be7 [java] Fixing new line character as the PowerShell is the default shell 2024-03-25 11:56:42 +01:00
Diego Molina
39623fad28 [java] Splitting browser tests per OS and remote only in macOS 2024-03-25 11:44:31 +01:00
Diego Molina
a684ab6137 Correcting Java workflow file 2024-03-25 11:24:52 +01:00
Diego Molina
c4c37c4b67 [java] Running in GH Actions some skipped tests in the RBE build 2024-03-25 11:11:10 +01:00
Simon Stewart
889a636954 [ci] Slim the Java build even further (#12913) 2023-10-10 11:37:18 +01:00
titusfortner
26f0dd51cb [ci] remove duplicate tests that are now run in RBE build 2023-10-05 16:04:47 -05:00
Alex Rodionov
18164af446 [java] Remote selenium-remote tag from test targets
If it's there, then `bazel query "attr(tags, 'remote', tests(//java/...))`
would also return non-remote targets. This happens because Bazel queries
for partial match in attribute ("selenium-remote" contains "remote").
2023-05-02 08:20:50 -07:00
Diego Molina
56ac72aa2e Removing job for RC tests
RC has not been released in almost a year, and we are removing it from the tree soon, so this job is not needed anymore.
2023-04-13 22:44:28 +02:00
Alex Rodionov
36c788c465 Overhaul CI in GitHub Actions [dotnet][java][js][py][rb][rust]
This commit introduces few major changes to the Selenium CI, overhauling
the current implementation to make it a bit more usable and maintainable.

1. Introduces high-level orchestrating "CI" workflow that is run on
   every push to the main branch, every 12 hours, every pull request,
   and manually. This workflow checks which bindings are affected by the
   pushed changes and calls individual CI workflows, presenting all of
   the results on a single page -
   https://github.com/SeleniumHQ/selenium/actions/workflows/ci.yml.
2. Reworks every "CI - <Bindings>" workflow to be callable from other
   workflows or run manually. The former is important for the "CI" workflow,
   the latter is matter of convenience so that individual bindings CI
   workflow can be run.
3. Individual bindings CI workflow are also implemented in a similar
   manner with the following pipeline:
     Build -> Documentation / Lint / Unit Tests -> Integration Tests
   This allows to better balance the load across the CI runners queue,
   preventing an immediate burst of queued runs.
4. Almost every CI pipeline step is implemented via a callable
   bazel.yml workflow. It is responsible for setting up the whole
   environment (browsers, Bazel caches) and greatly simplifies the
   individual bindings workflow. The only exceptions not using it are
   few JavaScript/Python tasks not migrated to Bazel and Rust pipeline.
6. Removes unnecessary installation of JDK because it's already taken
   care of by Bazel.
7. Allows to start interacting SSH session inside CI upon failure. This
   can be done by re-running a failed build with "Enable debug logging"
   on.
8. Allows to force-run CI on pull requests if the title includes
   [<bindings>] text. We could also fetch commits on this PR, but it
   needs extra code and can be done later.
2023-01-13 09:37:00 -08:00
Alex Rodionov
7024fb8f41 Upgrade setup-bazel
Newer version should be more reliable and efficient with external-cache
2023-01-12 16:09:13 -08:00
Alex Rodionov
7e6cd52c34 Disable SonarQube scanner on Java CI 2023-01-06 09:24:10 -08:00
Alex Rodionov
80819a8efb Use p0deje/setup-bazel GitHub Action on CI
It provides cross-platform configuration of Bazel and fine-grained
caching for bazelisk, disk_cache, repository_cache and external
repositories resulting in faster CI builds.
2023-01-06 09:23:27 -08:00
George Adams
20aa83c43b Migrate setup-java action to use Temurin (#11464) 2022-12-22 10:42:15 +01:00
Alex Rodionov
887da781a3 Revert "Enable remote Bazel cache through Google Cloud Storage"
This reverts commit 87b4de808b.
2022-12-21 14:47:46 -08:00
Alex Rodionov
87b4de808b Enable remote Bazel cache through Google Cloud Storage
This commit lands a support for public read-only remote Bazel cache
stored on Google Cloud Storage at
https://storage.googleapis.com/seleniumhq-bazel-remote-cache. The
storage bucket is public so anyone on the internet can use it to speed
up building Selenium locally.

The cache is written on the trunk CI builds by specifying
--remote_upload_local_results=true in CI .bazelrc. Likewise, Selenium
committers can write to the cache by getting the JSON key and adding
the following to the .bazelrc.local:
build --remote_upload_local_results=true --google_credentials=<path-to-json-key>

For now, the bucket is stored in @p0deje personal Google cloud and we
should eventually move it SeleniumHQ account if/once we have it.
2022-12-14 06:34:31 -08:00
titusfortner
416d183251 [ci] run language tests from typical language tags 2022-12-01 10:06:13 -06:00
titusfortner
0831f5d7ce update all github actions to latest versions for consistency 2022-11-26 20:27:44 -06:00
Titus Fortner
765704f693 [java] update CI to use selenium manager (#11190) 2022-10-28 12:15:40 -05:00
Titus Fortner
d78c5e8c46 bazelisk is pre-installed on github runners (#11173) 2022-10-26 16:09:39 -05:00
Henrik Skupin
8aeb1e1290 Run fluxbox as window manager for jobs using Xvfb (#11025)
Use Fluxbox as window manager for browser tests using Xvfb
2022-09-25 18:43:18 -05:00
Diego Molina
0c2b60532e [java] Removing filter for lint, not needed in browser tests
[run java]
2022-07-05 09:34:48 +02:00
Diego Molina
5d548aa3ed [java] Improving query to exclude 'no-lint' tests
[run java]
2022-06-23 13:01:51 +02:00
titusfortner
459c2dd80a remove branch limitation for CI tool; any push or PR runs applicable tests 2022-05-09 13:17:58 -05:00
Naveen
349e457785 Set permissions for GitHub actions (#10526)
- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

 Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

Signed-off-by: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com>

Co-authored-by: Diego Molina <diemol@users.noreply.github.com>
2022-04-07 16:57:23 +02:00
Diego Molina
2f93fe59e7 [java] Setting attempts for medium tests
[run java]
2022-04-02 20:28:57 +02:00
Diego Molina
f569666a4c [grid] Improving flaky test in DistributorTest
Also, removing two tests that already exist in
RouterTest.java
2022-04-02 00:37:49 +02:00
Diego Molina
2159a41ebe Fixing Chrome setup for GitHub Actions 2022-03-30 00:41:46 +02:00
Diego Molina
da44d46afa Running tests with Chrome beta too (#10491)
* Running tests with Chrome beta too
[run java]
[run python]
[run ruby]
2022-03-29 23:46:27 +02:00
Diego Molina
6e37c1aee2 Updating Node version in WORKSPACE and GH Actions 2022-03-26 22:43:29 +01:00
Diego Molina
d25aa65db9 Removing python from dispatch-workflows.yml 2022-03-03 11:18:33 +01:00
Diego Molina
f21821ef6a Leaving a single workflow file for Java 2022-03-03 11:07:23 +01:00
Diego Molina
a9847f3013 Removing Java from dispatch-workflows.yml 2022-03-03 10:59:49 +01:00
Diego Molina
773e8c3f1f Adding new workflow for Java 2022-03-03 10:44:17 +01:00