58 Commits

Author SHA1 Message Date
Titus Fortner
3d61e392a9 filter tests by large and add medium job separate 2026-01-09 11:57:54 -06:00
Titus Fortner
4cd82ecefc improve how filters are used for bidi 2026-01-09 11:57:54 -06:00
Titus Fortner
5574c4dfde change how python tests are filtered 2026-01-09 10:38:13 -06:00
Corey Goldberg
80b13e80f7 [py] Fix remaining mypy errors and enable CI for type checking (#16837) 2026-01-04 02:04:04 +07:00
Corey Goldberg
13af249550 [py] Fix type annotations, make docstrings consistent, centralize dev dependencies (#16821) 2025-12-31 12:22:54 -05:00
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
Corey Goldberg
43d93a92b9 [py] Use Chrome instead of Firefox for internal Remote tests (#16419) 2025-10-16 10:50:06 -04:00
Corey Goldberg
517c7e422b [py] Support Python 3.14 and drop Python 3.9 (#16342) 2025-10-15 13:06:32 -04:00
Corey Goldberg
2e0159a38f [py][build] Re-add Windows to CI workflows on GHA runners (#16396) 2025-10-09 09:37:22 -04:00
Corey Goldberg
3f9c5cb0cb [py] Fix Selenium Manager tests on Windows (#16391)
* [py] Fix Selenium Manager tests on Windows
* [py] Remove Windows tests from CI workflows
* [py] Combine bazel commands to prevent false passes
2025-10-06 20:17:48 -04:00
Corey Goldberg
64778708e3 [py][build] Python CI - add unit test job and windows integration tests to GH runners (#16362) 2025-10-05 09:15:07 -04:00
Corey Goldberg
d6b9bc4ff2 [build] Bump setup-python version in workflows (#16301) 2025-09-08 08:52:12 -04:00
Navin Chandra
f787770482 [py][java][rb][ci]: use pinned browsers in CI (#15987) 2025-07-02 16:25:13 +05:30
Corey Goldberg
367c8c1915 [py] Bump requirements for packaging and dev (#15909)
* [py] Bump python requirements
* [py] Bump requirements lock
* [py] Update unit tests
2025-06-19 15:44:06 -04:00
Corey Goldberg
c65425f611 [py] Remove publication of typing coverage in CI (#15886) 2025-06-11 10:52:23 -04:00
Corey Goldberg
b3fc1b348e [py] Use ruff for linting and code formatting (#15746)
* Replaces the current Python linters (black, isort, docformatter, autoflake, flake8) with ruff
* Integrates it into the build system
* Formats all Python source files

---------

Co-authored-by: Alex Rodionov <p0deje@gmail.com>
2025-05-17 08:26:02 -04:00
Corey Goldberg
a413faa65a [py] Bump Python package requirements to latest versions (#15731)
* updates dependencies in `py/pyproject.toml` for packaging
* updates dependencies in `py/BUILD.bazel` for building/testing/packaging
* updates dependency versions in `py/requirements.txt`
* adds tox and its dependencies to `py/requirements.txt`
* updates Python CI job to use new version of tox
* adds missing pinned transient dependencies to `py/requirements.txt`
* generates new `py/requirements_lock.txt` with updated hashes
* fixes errors in tests that were failing due to deprecations in the newer version of PyTest
* removes trove license classifier from packaging data since it is now deprecated (license is already specified through `project.license` metadata)
2025-05-15 19:51:58 -04:00
Viet Nguyen Duc
e37334c499 [py] Update supported Python versions 3.9+ (#15018)
* [py] Update supported Python versions 3.9+



---------

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
2025-01-13 13:32:56 +00:00
Viet Nguyen Duc
e2e9ac5f7e [py] Deprecate CDP methods on Firefox (#14787)
Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
2024-11-22 10:42:38 +07:00
Simon Benzer
d55eff321b [py] Added Common Tests to Edge CI (#14748)
---------

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
Co-authored-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
2024-11-15 08:17:07 +07:00
Swastik Baranwal
0a724b14e5 [py] add edge driver tests (#14723)
---------

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
Co-authored-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
2024-11-15 00:23:25 +07:00
Viet Nguyen Duc
2bd18eb59f [ci][py] Init launcher tests for Edge
Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
2024-11-14 17:55:09 +07:00
Viet Nguyen Duc
68197957e4 [ci][py] Enabled browser tests
Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
2024-11-14 10:41:21 +07:00
Viet Nguyen Duc
7257cf3548 [ci][py] Update runners and tests (#14729)
Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
2024-11-08 19:55:58 +07:00
Swastik Baranwal
71bc491039 [py] add safari service tests (#14700)
This also cleans up the running of Safari tests 

---------

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
Co-authored-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
Co-authored-by: David Burns <david.burns@theautomatedtester.co.uk>
2024-11-04 11:11:04 +00:00
Viet Nguyen Duc
7c389f9e12 [py] Fix TypeError when init Safari webdriver (#14699)
* [py] Fix TypeError when init Safari webdriver
* Try to enable test safari in CI

---------

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
2024-11-01 09:54:22 +07:00
Simon Mavi Stewart
47b4cdcfb8 [ci] Remove duplicate python builds from GH runner 2023-11-10 16:40:11 +00:00
titusfortner
26f0dd51cb [ci] remove duplicate tests that are now run in RBE build 2023-10-05 16:04:47 -05:00
dependabot[bot]
de4d2d5639 Bump actions/checkout from 3 to 4 (#12687)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-06 18:52:59 +02:00
symonk
60728ac84e [py]: Rename linting recipe to linting-ci for GHA 2023-08-29 21:16:12 +01:00
Simon K
98d4640610 Drop py37 support (#12400)
* [py]: Upgrading syntax to be `python3.8+`

* [py]: Upgrade infrastructure for `python3.8+`

* [py] Remove accidental commit of pre commit config used for upgrading

* [py]: Remove py37 classifiers from bazel python packaging recipes

* [py]: Apply `flake8` with py3.8 - update docstrings inline with `PEP-257`

* [py]: Use more python3.8+ syntax

* [py]: Remove old python3.7 comments in code

* [py] Apply more python3.8+ type hints

* [py]: Fix conflicts and make `CHANGES` accurate

---------

Co-authored-by: Diego Molina <diemol@users.noreply.github.com>
2023-08-28 10:11:48 +02:00
symonk
d2a74f1380 [py]: Update tox versions for github actions 2023-07-24 20:13:34 +01: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
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
d848fb8d14 [py] update ci to use the right os and skip unnecessary python installs 2022-12-02 16:58:21 -06:00
titusfortner
c02a748683 [py] setup-python does not yet have python builds available for Ubuntu 22 2022-12-02 10:47:28 -06:00
titusfortner
416d183251 [ci] run language tests from typical language tags 2022-12-01 10:06:13 -06:00
Christian Clauss
c3a8c94d1f [py] Upgrade GitHub Actions (#11257)
* [run python] Upgrade GitHub Actions

* Java distribution: 'adopt'
2022-11-26 20:21:30 -06:00
titusfortner
ba18eccedd [py] add initial support for selenium manager 2022-10-28 08:25:03 -05:00
Titus Fortner
d78c5e8c46 bazelisk is pre-installed on github runners (#11173) 2022-10-26 16:09:39 -05:00
symonk
ca217d29ec [py]: Exit 1 in ci when linter is failing 2022-10-02 16:51:22 +01:00