* [build] rerun failing tests when requested
* bash on windows needs extra commands
* use awk not tac
* put failures in build rather than dealing with symlinks
* [build] fix lint problems automatically
* do not commit the patch file
* commit-fixes job should not fail when it properly commits the fixes
* move format code to new workflow
* ruby needs curl
* 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
* Add Steep type check to Ruby CI workflow
* Fix Steep CI job to use native Ruby setup instead of Bazel
* Suppress verbose Steep logging in CI and remove problematic diagnostics config
* #16612 support downloading large files from Grid
I added a new Grid endpoint "/se/files/:name" which allows downloading the file directly, without encoding it to Base64 and adding to Json. This transformation kills the performance and causes OutOfMemory errors for large files (e.g. 256+ MB).
NB! Be sure that `toString()` method of objects (HttpRequest, HttpResponse, Contents.Supplier) never returns too long string - it spam debug logs and can cause OOM during debugging.
* #16612 extract anonymous implementations of `Contents.Supplier` to separate classes
It makes debugging easier. You can easily see what instances they are and where they come from.
* #16612 optimize method `RemoteWebDriver.downloadFile()`
Instead of reading the whole file to a byte array, just save given InputStream directly to the file.
Now it can download large files (I tried 4GB) while consuming very low memory.
* #16612 just in case, return `Contents.fromStream` only when downloading files.
For json responses, still return `Contents.bytes` which allows re-reading its content multiple times. Just in case.
* #16612 fix flaky test: wait until the downloads folder gets deleted
After stopping a Grid node, the folder is deleted asynchronously (by cache removal listener). So we need to wait for it in test.
* #16612 fix flaky test: wait until the grid node is fully stopped
At least on my machine, stopping the node takes some time, and any checks right after `node.stop(sessionId)` often can fail.
* #16612 fix flaky test LocalNewSessionQueueTest
Gr... This is extremely hard to debug test.
After hours of debugging, I came to a conclusion that we just need to increase the timeout. On my machine, `latch` gets decreased after ~1.2 seconds. So 1 second was not enough.
* #16612 fix flaky test JdkHttpClientTest
I don't know why, but sometimes we receive `HttpTimeoutException` instead of `InterruptedException`. Seems reasonable to consider execution as interrupted in both cases. (?)
* #16612 remove unneeded code
None of `is.readNBytes` implementations returns -1. It always returns 0 or positive number.
* #16612 upload logs in case of test failure
* ignore few more IDEA files
* #16612 slightly improve logging in `W3CHttpResponseCodec.decode`
Don't log the entire response body - just content type and length.
* Revert "[ci] Update mirror info (2025-11-11T15:26:46Z) (#16578)"
This reverts commit 2b5da89b8f.
* Revert "[ci] Make a PR for updating mirror file instead of pushing directly to trunk (#16579)"
This reverts commit 0e7508261b.
* 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>