Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[build] Prepare for release of Selenium 4.29.0 #15274

Open
wants to merge 16 commits into
base: trunk
Choose a base branch
from

Conversation

selenium-ci
Copy link
Member

@selenium-ci selenium-ci commented Feb 11, 2025

User description

Warning: Manually update the changelogs before merging

This PR:

  • Updates Rust version for Selenium Manager release
  • Updates Pinned browser version to coincide with new CDP release
  • Adds support for new CDP version and removes old CDP version
  • Selenium Manager references the new Selenium Manager release
  • Updates Maven Dependencies
  • Adds new authors to authors file
  • Updates all versions for all bindings
  • Generates rough change logs for each bindings (please tidy them up before merging this)

PR Type

Enhancement, Tests, Bug fix


Description

  • Added support for Chrome DevTools Protocol (CDP) version 133, removing support for version 130.

  • Updated browser versions and dependencies across multiple bindings and configurations.

  • Enhanced documentation, changelogs, and author contributions for the Selenium 4.29.0 release.

  • Improved nullability annotations and error handling in .NET bindings.


Changes walkthrough 📝

Relevant files
Enhancement
15 files
v133CdpInfo.java
Added CDP v133 support in Java bindings                                   
+4/-4     
v133Domains.java
Updated domain references for CDP v133                                     
+13/-13 
v133Events.java
Updated event handling for CDP v133                                           
+9/-9     
v133Javascript.java
Added JavaScript protocol support for CDP v133                     
+7/-7     
v133Log.java
Added logging support for CDP v133                                             
+5/-5     
v133Network.java
Added network protocol support for CDP v133                           
+10/-10 
v133Target.java
Added target management for CDP v133                                         
+12/-12 
DevToolsDomains.cs
Updated supported DevTools versions in .NET bindings         
+2/-2     
V133Domains.cs
Added CDP v133 domain implementation in .NET                         
+11/-11 
V133JavaScript.cs
Added JavaScript protocol for CDP v133 in .NET                     
+8/-8     
V133Log.cs
Added logging protocol for CDP v133 in .NET                           
+8/-8     
V133Network.cs
Added network protocol for CDP v133 in .NET                           
+12/-12 
V133Target.cs
Added target management for CDP v133 in .NET                         
+7/-7     
version.rb
Updated Ruby DevTools version to 0.133.0                                 
+1/-1     
__init__.py
Updated Python Selenium version to 4.29.0                               
+1/-1     
Configuration changes
1 files
repositories.bzl
Updated pinned browser versions and dependencies                 
+25/-25 
Documentation
1 files
AUTHORS
Added new contributors to the authors file                             
+4/-0     
Tests
3 files
DevToolsConsoleTest.cs
Updated tests to use CDP v133                                                       
+1/-1     
DevToolsLogTest.cs
Updated tests to use CDP v133                                                       
+1/-1     
DevToolsNetworkTest.cs
Updated tests to use CDP v133                                                       
+1/-1     
Additional files
33 files
MODULE.bazel +4/-4     
Rakefile +3/-3     
BUILD.bazel [link]   
browser_protocol.pdl +245/-20
js_protocol.pdl +16/-3   
selenium_manager.bzl +6/-6     
CHANGELOG +58/-0   
selenium-dotnet-version.bzl +2/-2     
StableChannelChromeDriver.cs +1/-1     
DevToolsPerformanceTest.cs +1/-1     
DevToolsProfilerTest.cs +1/-1     
DevToolsSecurityTest.cs +1/-1     
DevToolsTabsTest.cs +1/-1     
DevToolsTargetTest.cs +2/-2     
CHANGELOG +14/-0   
maven_install.json +19/-19 
BUILD.bazel +1/-1     
versions.bzl +1/-1     
version.bzl +1/-1     
BUILD.bazel +2/-2     
CHANGES.md +6/-0     
package.json +1/-1     
BUILD.bazel +2/-2     
CHANGES +9/-0     
conf.py +1/-1     
pyproject.toml +1/-1     
__init__.py +1/-1     
CHANGES +8/-0     
BUILD.bazel +1/-1     
version.rb +1/-1     
BUILD.bazel +1/-1     
CHANGELOG.md +4/-0     
Cargo.toml +1/-1     

Need help?
  • Type /help how to ... in the comments thread for any questions about Qodo Merge usage.
  • Check out the documentation for more information.
  • @selenium-ci selenium-ci added the C-build Build related issues (bazel and CI) label Feb 11, 2025
    Copy link
    Contributor

    qodo-merge-pro bot commented Feb 11, 2025

    CI Feedback 🧐

    (Feedback updated until commit cc5f8c3)

    A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

    Action: Ruby / Local Tests (firefox, macos) / Local Tests (firefox, macos)

    Failed stage: Run Bazel [❌]

    Failed test name: Selenium::WebDriver::ActionBuilder#scroll_by

    Failure summary:

    The action failed because the test 'scroll_by' in the ActionBuilder test suite failed. Specifically:

  • The test expected an element (footer) to be in viewport after scrolling, but it wasn't
  • The test was run in Firefox browser and failed consistently across 3 attempts
  • Several related scroll tests were also marked as pending due to "incorrect
    MoveTargetOutOfBoundsError" issues in Firefox

  • Relevant error logs:
    1:  ##[group]Operating System
    2:  macOS
    ...
    
    687:  �[32m[1,299 / 1,321]�[0m 2 / 30 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:listener-firefox; 18s ... (3 actions, 1 running)
    688:  �[32m[1,299 / 1,321]�[0m 2 / 30 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:listener-firefox; 29s ... (3 actions, 1 running)
    689:  �[32m[1,299 / 1,321]�[0m 2 / 30 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:element-firefox; 36s local, disk-cache ... (3 actions, 2 running)
    690:  �[32m[1,300 / 1,321]�[0m 3 / 30 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:target_locator-firefox; 37s ... (3 actions, 1 running)
    691:  �[32m[1,300 / 1,321]�[0m 3 / 30 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:listener-firefox; 11s local, disk-cache ... (3 actions, 2 running)
    692:  �[32m[1,301 / 1,321]�[0m 4 / 30 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:zipper-firefox; 12s ... (3 actions, 1 running)
    693:  �[32m[1,301 / 1,321]�[0m 4 / 30 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:zipper-firefox; 23s ... (3 actions, 1 running)
    694:  �[32m[1,301 / 1,321]�[0m 4 / 30 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:target_locator-firefox; 22s local, disk-cache ... (3 actions, 2 running)
    695:  �[32m[1,302 / 1,321]�[0m 5 / 30 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-firefox; 23s ... (3 actions, 1 running)
    ...
    
    735:  �[32m[1,314 / 1,321]�[0m 17 / 30 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 125s local, disk-cache ... (3 actions, 2 running)
    736:  �[32m[1,314 / 1,321]�[0m 17 / 30 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 157s local, disk-cache ... (3 actions running)
    737:  �[32m[1,315 / 1,321]�[0m 18 / 30 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 159s local, disk-cache ... (3 actions, 2 running)
    738:  �[32m[1,315 / 1,321]�[0m 18 / 30 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 164s local, disk-cache ... (3 actions, 2 running)
    739:  �[32m[1,316 / 1,321]�[0m 19 / 30 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 166s local, disk-cache ... (3 actions, 1 running)
    740:  �[32m[1,316 / 1,321]�[0m 19 / 30 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 178s local, disk-cache ... (3 actions, 1 running)
    741:  �[32m[1,316 / 1,321]�[0m 19 / 30 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 207s local, disk-cache ... (3 actions, 2 running)
    742:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:action_builder-firefox (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox/test.log)
    743:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver:action_builder-firefox (Summary)
    ...
    
    782:  moves one element to another
    783:  #drag_and_drop_by
    784:  moves one element a provided distance
    785:  #move_to_location
    786:  moves pointer to specified coordinates
    787:  pen stylus
    788:  sets pointer event properties (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"Unknown pointerType"};)
    789:  #scroll_to
    790:  scrolls to element (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"incorrect MoveTargetOutOfBoundsError"};)
    791:  #scroll_by
    792:  scrolls by given amount (FAILED - 1)
    793:  #scroll_from
    794:  scrolls from element by given amount (PENDING: Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};)
    795:  scrolls from element by given amount with offset (PENDING: Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};)
    796:  raises MoveTargetOutOfBoundsError when origin offset from element is out of viewport
    797:  scrolls by given amount with offset
    798:  raises MoveTargetOutOfBoundsError when origin offset is out of viewport
    799:  Pending: (Failures listed here are expected and do not affect your suite's status)
    800:  1) Selenium::WebDriver::ActionBuilder pen stylus sets pointer event properties
    801:  # Test guarded; Guarded by {:browser=>:firefox, :reason=>"Unknown pointerType"};
    802:  Failure/Error: actions.perform
    803:  Selenium::WebDriver::Error::UnknownError:
    804:  Error: Unimplemented pointerMove for pointerType pen
    805:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    806:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    ...
    
    811:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    812:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    813:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:685:in `execute'
    814:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:413:in `send_actions'
    815:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform'
    816:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:280:in `block (3 levels) in <module:WebDriver>'
    817:  # ------------------
    818:  # --- Caused by: ---
    819:  # Selenium::WebDriver::Error::WebDriverError:
    820:  #   pointerMove@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2393:11
    821:  performPointerMoveStep@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1628:31
    822:  dispatch/<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1595:20
    823:  moveOverTime/transitions<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2320:9
    824:  2) Selenium::WebDriver::ActionBuilder#scroll_to scrolls to element
    825:  # Test guarded; Guarded by {:browser=>:firefox, :reason=>"incorrect MoveTargetOutOfBoundsError"};
    826:  Failure/Error: driver.action.scroll_to(iframe).perform
    827:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
    828:  Move target (410, 2898) is out of bounds of viewport dimensions (1280, 788)
    829:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    830:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    ...
    
    835:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    836:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    837:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:685:in `execute'
    838:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:413:in `send_actions'
    839:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform'
    840:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:313:in `block (3 levels) in <module:WebDriver>'
    841:  # ------------------
    842:  # --- Caused by: ---
    843:  # Selenium::WebDriver::Error::WebDriverError:
    844:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    845:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:197:5
    846:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:493:5
    847:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3097:11
    848:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:115:17
    849:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:203:42
    850:  3) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount
    851:  # Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};
    852:  Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform
    853:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
    854:  Move target (410, 2898) is out of bounds of viewport dimensions (1280, 788)
    855:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    856:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    ...
    
    861:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    862:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    863:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:685:in `execute'
    864:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:413:in `send_actions'
    865:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform'
    866:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:339:in `block (3 levels) in <module:WebDriver>'
    867:  # ------------------
    868:  # --- Caused by: ---
    869:  # Selenium::WebDriver::Error::WebDriverError:
    870:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    871:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:197:5
    872:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:493:5
    873:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3097:11
    874:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:115:17
    875:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:203:42
    876:  4) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount with offset
    877:  # Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};
    878:  Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform
    879:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
    880:  Move target (632, 2952) is out of bounds of viewport dimensions (1280, 788)
    881:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    882:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    ...
    
    887:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    888:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    889:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:685:in `execute'
    890:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:413:in `send_actions'
    891:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform'
    892:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:353:in `block (3 levels) in <module:WebDriver>'
    893:  # ------------------
    894:  # --- Caused by: ---
    895:  # Selenium::WebDriver::Error::WebDriverError:
    896:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    897:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:197:5
    898:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:493:5
    899:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3097:11
    900:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:115:17
    901:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:203:42
    902:  Failures:
    903:  1) Selenium::WebDriver::ActionBuilder#scroll_by scrolls by given amount
    904:  Failure/Error: expect(in_viewport?(footer)).to be true
    905:  expected true
    906:  got false
    907:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:328:in `block (3 levels) in <module:WebDriver>'
    908:  Finished in 49.11 seconds (files took 0.18433 seconds to load)
    909:  27 examples, 1 failure, 4 pending
    910:  Failed examples:
    ...
    
    947:  moves one element to another
    948:  #drag_and_drop_by
    949:  moves one element a provided distance
    950:  #move_to_location
    951:  moves pointer to specified coordinates
    952:  pen stylus
    953:  sets pointer event properties (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"Unknown pointerType"};)
    954:  #scroll_to
    955:  scrolls to element (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"incorrect MoveTargetOutOfBoundsError"};)
    956:  #scroll_by
    957:  scrolls by given amount (FAILED - 1)
    958:  #scroll_from
    959:  scrolls from element by given amount (PENDING: Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};)
    960:  scrolls from element by given amount with offset (PENDING: Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};)
    961:  raises MoveTargetOutOfBoundsError when origin offset from element is out of viewport
    962:  scrolls by given amount with offset
    963:  raises MoveTargetOutOfBoundsError when origin offset is out of viewport
    964:  Pending: (Failures listed here are expected and do not affect your suite's status)
    965:  1) Selenium::WebDriver::ActionBuilder pen stylus sets pointer event properties
    966:  # Test guarded; Guarded by {:browser=>:firefox, :reason=>"Unknown pointerType"};
    967:  Failure/Error: actions.perform
    968:  Selenium::WebDriver::Error::UnknownError:
    969:  Error: Unimplemented pointerMove for pointerType pen
    970:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    971:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    ...
    
    976:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    977:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    978:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:685:in `execute'
    979:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:413:in `send_actions'
    980:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform'
    981:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:280:in `block (3 levels) in <module:WebDriver>'
    982:  # ------------------
    983:  # --- Caused by: ---
    984:  # Selenium::WebDriver::Error::WebDriverError:
    985:  #   pointerMove@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2393:11
    986:  performPointerMoveStep@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1628:31
    987:  dispatch/<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1595:20
    988:  moveOverTime/transitions<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2320:9
    989:  2) Selenium::WebDriver::ActionBuilder#scroll_to scrolls to element
    990:  # Test guarded; Guarded by {:browser=>:firefox, :reason=>"incorrect MoveTargetOutOfBoundsError"};
    991:  Failure/Error: driver.action.scroll_to(iframe).perform
    992:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
    993:  Move target (410, 2898) is out of bounds of viewport dimensions (1280, 788)
    994:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    995:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    ...
    
    1000:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    1001:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    1002:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:685:in `execute'
    1003:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:413:in `send_actions'
    1004:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform'
    1005:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:313:in `block (3 levels) in <module:WebDriver>'
    1006:  # ------------------
    1007:  # --- Caused by: ---
    1008:  # Selenium::WebDriver::Error::WebDriverError:
    1009:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    1010:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:197:5
    1011:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:493:5
    1012:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3097:11
    1013:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:115:17
    1014:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:203:42
    1015:  3) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount
    1016:  # Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};
    1017:  Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform
    1018:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
    1019:  Move target (410, 2898) is out of bounds of viewport dimensions (1280, 788)
    1020:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    1021:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    ...
    
    1026:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    1027:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    1028:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:685:in `execute'
    1029:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:413:in `send_actions'
    1030:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform'
    1031:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:339:in `block (3 levels) in <module:WebDriver>'
    1032:  # ------------------
    1033:  # --- Caused by: ---
    1034:  # Selenium::WebDriver::Error::WebDriverError:
    1035:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    1036:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:197:5
    1037:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:493:5
    1038:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3097:11
    1039:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:115:17
    1040:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:203:42
    1041:  4) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount with offset
    1042:  # Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};
    1043:  Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform
    1044:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
    1045:  Move target (632, 2952) is out of bounds of viewport dimensions (1280, 788)
    1046:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    1047:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    ...
    
    1052:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    1053:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    1054:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:685:in `execute'
    1055:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:413:in `send_actions'
    1056:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform'
    1057:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:353:in `block (3 levels) in <module:WebDriver>'
    1058:  # ------------------
    1059:  # --- Caused by: ---
    1060:  # Selenium::WebDriver::Error::WebDriverError:
    1061:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    1062:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:197:5
    1063:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:493:5
    1064:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3097:11
    1065:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:115:17
    1066:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:203:42
    1067:  Failures:
    1068:  1) Selenium::WebDriver::ActionBuilder#scroll_by scrolls by given amount
    1069:  Failure/Error: expect(in_viewport?(footer)).to be true
    1070:  expected true
    1071:  got false
    1072:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:328:in `block (3 levels) in <module:WebDriver>'
    1073:  Finished in 48.92 seconds (files took 0.21375 seconds to load)
    1074:  27 examples, 1 failure, 4 pending
    1075:  Failed examples:
    ...
    
    1112:  moves one element to another
    1113:  #drag_and_drop_by
    1114:  moves one element a provided distance
    1115:  #move_to_location
    1116:  moves pointer to specified coordinates
    1117:  pen stylus
    1118:  sets pointer event properties (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"Unknown pointerType"};)
    1119:  #scroll_to
    1120:  scrolls to element (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"incorrect MoveTargetOutOfBoundsError"};)
    1121:  #scroll_by
    1122:  scrolls by given amount (FAILED - 1)
    1123:  #scroll_from
    1124:  scrolls from element by given amount (PENDING: Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};)
    1125:  scrolls from element by given amount with offset (PENDING: Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};)
    1126:  raises MoveTargetOutOfBoundsError when origin offset from element is out of viewport
    1127:  scrolls by given amount with offset
    1128:  raises MoveTargetOutOfBoundsError when origin offset is out of viewport
    1129:  Pending: (Failures listed here are expected and do not affect your suite's status)
    1130:  1) Selenium::WebDriver::ActionBuilder pen stylus sets pointer event properties
    1131:  # Test guarded; Guarded by {:browser=>:firefox, :reason=>"Unknown pointerType"};
    1132:  Failure/Error: actions.perform
    1133:  Selenium::WebDriver::Error::UnknownError:
    1134:  Error: Unimplemented pointerMove for pointerType pen
    1135:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    1136:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    ...
    
    1141:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    1142:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    1143:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:685:in `execute'
    1144:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:413:in `send_actions'
    1145:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform'
    1146:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:280:in `block (3 levels) in <module:WebDriver>'
    1147:  # ------------------
    1148:  # --- Caused by: ---
    1149:  # Selenium::WebDriver::Error::WebDriverError:
    1150:  #   pointerMove@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2393:11
    1151:  performPointerMoveStep@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1628:31
    1152:  dispatch/<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1595:20
    1153:  moveOverTime/transitions<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2320:9
    1154:  2) Selenium::WebDriver::ActionBuilder#scroll_to scrolls to element
    1155:  # Test guarded; Guarded by {:browser=>:firefox, :reason=>"incorrect MoveTargetOutOfBoundsError"};
    1156:  Failure/Error: driver.action.scroll_to(iframe).perform
    1157:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
    1158:  Move target (410, 2898) is out of bounds of viewport dimensions (1280, 788)
    1159:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    1160:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    ...
    
    1165:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    1166:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    1167:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:685:in `execute'
    1168:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:413:in `send_actions'
    1169:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform'
    1170:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:313:in `block (3 levels) in <module:WebDriver>'
    1171:  # ------------------
    1172:  # --- Caused by: ---
    1173:  # Selenium::WebDriver::Error::WebDriverError:
    1174:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    1175:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:197:5
    1176:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:493:5
    1177:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3097:11
    1178:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:115:17
    1179:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:203:42
    1180:  3) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount
    1181:  # Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};
    1182:  Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform
    1183:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
    1184:  Move target (410, 2898) is out of bounds of viewport dimensions (1280, 788)
    1185:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    1186:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    ...
    
    1191:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    1192:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    1193:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:685:in `execute'
    1194:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:413:in `send_actions'
    1195:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform'
    1196:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:339:in `block (3 levels) in <module:WebDriver>'
    1197:  # ------------------
    1198:  # --- Caused by: ---
    1199:  # Selenium::WebDriver::Error::WebDriverError:
    1200:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    1201:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:197:5
    1202:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:493:5
    1203:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3097:11
    1204:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:115:17
    1205:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:203:42
    1206:  4) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount with offset
    1207:  # Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};
    1208:  Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform
    1209:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
    1210:  Move target (632, 2952) is out of bounds of viewport dimensions (1280, 788)
    1211:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    1212:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    ...
    
    1217:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    1218:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    1219:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:685:in `execute'
    1220:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:413:in `send_actions'
    1221:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform'
    1222:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:353:in `block (3 levels) in <module:WebDriver>'
    1223:  # ------------------
    1224:  # --- Caused by: ---
    1225:  # Selenium::WebDriver::Error::WebDriverError:
    1226:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    1227:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:197:5
    1228:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:493:5
    1229:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3097:11
    1230:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:115:17
    1231:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:203:42
    1232:  Failures:
    1233:  1) Selenium::WebDriver::ActionBuilder#scroll_by scrolls by given amount
    1234:  Failure/Error: expect(in_viewport?(footer)).to be true
    1235:  expected true
    1236:  got false
    1237:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:328:in `block (3 levels) in <module:WebDriver>'
    1238:  Finished in 41.42 seconds (files took 0.20336 seconds to load)
    1239:  27 examples, 1 failure, 4 pending
    1240:  Failed examples:
    1241:  rspec ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:320 # Selenium::WebDriver::ActionBuilder#scroll_by scrolls by given amount
    1242:  ================================================================================
    1243:  �[32m[1,317 / 1,321]�[0m 20 / 30 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/firefox:profile-firefox; 42s ... (3 actions, 1 running)
    1244:  �[32m[1,317 / 1,321]�[0m 20 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:virtual_authenticator-firefox; 6s local, disk-cache ... (3 actions, 2 running)
    1245:  �[32m[1,318 / 1,321]�[0m 21 / 30 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:storage-firefox; 7s ... (3 actions, 1 running)
    1246:  �[32m[1,318 / 1,321]�[0m 21 / 30 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:storage-firefox; 18s ... (3 actions, 1 running)
    1247:  �[32m[1,318 / 1,321]�[0m 21 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:profile-firefox; 23s local, disk-cache ... (3 actions, 2 running)
    1248:  �[32m[1,319 / 1,321]�[0m 22 / 30 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/firefox:service-firefox; 24s ... (2 actions, 1 running)
    1249:  �[32m[1,319 / 1,321]�[0m 22 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:storage-firefox; 7s local, disk-cache ... (2 actions running)
    1250:  �[32m[1,320 / 1,321]�[0m 23 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:service-firefox; 1s local, disk-cache
    1251:  �[32m[1,320 / 1,321]�[0m 23 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:service-firefox; 12s local, disk-cache
    1252:  �[32m[1,321 / 1,322]�[0m 24 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:devtools-firefox; 0s local, disk-cache
    1253:  �[32m[1,321 / 1,322]�[0m 24 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:devtools-firefox; 6s local, disk-cache
    1254:  �[32m[1,322 / 1,323]�[0m 25 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:log_inspector-firefox; 1s local, disk-cache
    1255:  �[32m[1,322 / 1,323]�[0m 25 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:log_inspector-firefox; 6s local, disk-cache
    1256:  �[32m[1,323 / 1,324]�[0m 26 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:script-firefox; 0s local, disk-cache
    1257:  �[32m[1,323 / 1,324]�[0m 26 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:script-firefox; 5s local, disk-cache
    1258:  �[32m[1,324 / 1,325]�[0m 27 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:network-firefox; 1s local, disk-cache
    1259:  �[32m[1,324 / 1,325]�[0m 27 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:network-firefox; 6s local, disk-cache
    1260:  �[32m[1,325 / 1,326]�[0m 28 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox; 1s local, disk-cache
    1261:  �[32m[1,325 / 1,326]�[0m 28 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox; 6s local, disk-cache
    1262:  �[32m[1,326 / 1,327]�[0m 29 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:bidi-firefox; 0s local, disk-cache
    1263:  �[32m[1,326 / 1,327]�[0m 29 / 30 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:bidi-firefox; 6s local, disk-cache
    1264:  �[32mINFO: �[0mFound 30 test targets...
    1265:  �[32mINFO: �[0mElapsed time: 796.677s, Critical Path: 287.80s
    1266:  �[32mINFO: �[0m1327 processes: 570 disk cache hit, 681 internal, 13 darwin-sandbox, 63 local.
    1267:  �[32mINFO: �[0mBuild completed, 1 test FAILED, 1327 total actions
    1268:  //rb/spec/integration/selenium/webdriver:bidi-firefox                    �[0m�[32mPASSED�[0m in 6.2s
    1269:  //rb/spec/integration/selenium/webdriver:devtools-firefox                �[0m�[32mPASSED�[0m in 6.2s
    1270:  //rb/spec/integration/selenium/webdriver:driver-firefox                  �[0m�[32mPASSED�[0m in 49.6s
    1271:  //rb/spec/integration/selenium/webdriver:element-firefox                 �[0m�[32mPASSED�[0m in 36.7s
    1272:  //rb/spec/integration/selenium/webdriver:error-firefox                   �[0m�[32mPASSED�[0m in 12.9s
    ...
    
    1289:  //rb/spec/integration/selenium/webdriver/bidi:log_inspector-firefox      �[0m�[32mPASSED�[0m in 6.2s
    1290:  //rb/spec/integration/selenium/webdriver/bidi:network-firefox            �[0m�[32mPASSED�[0m in 6.1s
    1291:  //rb/spec/integration/selenium/webdriver/bidi:script-firefox             �[0m�[32mPASSED�[0m in 5.9s
    1292:  //rb/spec/integration/selenium/webdriver/firefox:driver-firefox          �[0m�[32mPASSED�[0m in 38.2s
    1293:  //rb/spec/integration/selenium/webdriver/firefox:profile-firefox         �[0m�[32mPASSED�[0m in 23.5s
    1294:  //rb/spec/integration/selenium/webdriver/firefox:service-firefox         �[0m�[32mPASSED�[0m in 12.1s
    1295:  //rb/spec/integration/selenium/webdriver/remote:driver-firefox           �[0m�[32mPASSED�[0m in 7.4s
    1296:  //rb/spec/integration/selenium/webdriver/remote:element-firefox          �[0m�[32mPASSED�[0m in 17.6s
    1297:  //rb/spec/integration/selenium/webdriver:action_builder-firefox          �[0m�[31m�[1mFAILED�[0m in 3 out of 3 in 49.9s
    1298:  Stats over 3 runs: max = 49.9s, min = 42.4s, avg = 47.4s, dev = 3.5s
    1299:  /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox/test.log
    1300:  /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox/test_attempts/attempt_1.log
    1301:  /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox/test_attempts/attempt_2.log
    1302:  Executed 30 out of 30 tests: 29 tests pass and �[0m�[31m�[1m1 fails locally�[0m.
    1303:  There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.
    1304:  �[0m
    1305:  ##[error]Process completed with exit code 3.
    ...
    
    1307:  ##[group]Save cache for external-+pin_browsers_extension+mac_firefox
    1308:  [command]/opt/homebrew/bin/gtar --posix -cf cache.tzst --exclude cache.tzst -P -C /Users/runner/work/selenium/selenium --files-from manifest.txt --delay-directory-restore --use-compress-program zstdmt
    1309:  Cache Size: ~461 MB (483694086 B)
    1310:  Cache saved successfully
    1311:  Successfully saved cache
    1312:  ##[endgroup]
    1313:  ##[group]Save cache for external-rules_ruby++ruby+bundle
    1314:  [command]/opt/homebrew/bin/gtar --posix -cf cache.tzst --exclude cache.tzst -P -C /Users/runner/work/selenium/selenium --files-from manifest.txt --delay-directory-restore --use-compress-program zstdmt
    1315:  Failed to save: Unable to reserve cache with key setup-bazel-2-darwin-external-rules_ruby++ruby+bundle-4bbb0128969cdc13e0aa883080398561dae553e2ba59724ae2a024430bf5c30b, another job may be creating this cache. More details: Cache already exists. Scope: refs/pull/15274/merge, Key: setup-bazel-2-darwin-external-rules_ruby++ruby+bundle-4bbb0128969cdc13e0aa883080398561dae553e2ba59724ae2a024430bf5c30b, Version: 8e0e226d0230dabd5ccb0b5cad13225c7197ecd741bdecee58df644e98013c78
    1316:  Successfully saved cache
    1317:  ##[endgroup]
    1318:  ##[group]Save cache for external-rules_ruby++ruby+ruby
    1319:  [command]/opt/homebrew/bin/gtar --posix -cf cache.tzst --exclude cache.tzst -P -C /Users/runner/work/selenium/selenium --files-from manifest.txt --delay-directory-restore --use-compress-program zstdmt
    1320:  Failed to save: Unable to reserve cache with key setup-bazel-2-darwin-external-rules_ruby++ruby+ruby-4bbb0128969cdc13e0aa883080398561dae553e2ba59724ae2a024430bf5c30b, another job may be creating this cache. More details: Cache already exists. Scope: refs/pull/15274/merge, Key: setup-bazel-2-darwin-external-rules_ruby++ruby+ruby-4bbb0128969cdc13e0aa883080398561dae553e2ba59724ae2a024430bf5c30b, Version: 6ad924ed2a6cae108af5ca45bac6f8b8e572ba266340baa742ade21fb2e868be
    

    @robininrola
    Copy link

    @nvborisenko @VietND96 : hello guys, hope you are doing good. Can you let me know when you going to release this build?

    Thanks
    Rohan

    @nvborisenko
    Copy link
    Member

    @robininrola subscribe/like/donate. Usually it takes ~1 week.

    @robininrola
    Copy link

    Thanks for your reply @nvborisenko : appreciated your work.

    @VietND96 VietND96 force-pushed the release-preparation-4.29.0 branch from db6ee16 to f2a209c Compare February 17, 2025 09:20
    @selenium-ci selenium-ci force-pushed the release-preparation-4.29.0 branch 2 times, most recently from 181b2a5 to 9b02665 Compare February 17, 2025 12:14
    @selenium-ci selenium-ci force-pushed the release-preparation-4.29.0 branch from 9b02665 to c47981b Compare February 17, 2025 13:49
    @VietND96 VietND96 marked this pull request as ready for review February 17, 2025 14:25
    Copy link
    Contributor

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
    🧪 PR contains tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    Code Consistency

    Verify that the v133 implementation properly handles session and target IDs conversion between CDP and Selenium formats, as this is a critical part of the CDP protocol upgrade.

      return Target.detachFromTarget(
          sessionId.map(
              id -> new org.openqa.selenium.devtools.v133.target.model.SessionID(id.toString())),
          targetId.map(
              id -> new org.openqa.selenium.devtools.v133.target.model.TargetID(id.toString())));
    }
    Error Handling

    Ensure proper error handling is implemented for network request interception and authentication in the new CDP version, particularly around the updated auth challenge response types.

    await fetch.ContinueWithAuth(new ContinueWithAuthCommandSettings()
    {
        RequestId = requestId,
        AuthChallengeResponse = new V133.Fetch.AuthChallengeResponse()
        {
            Response = V133.Fetch.AuthChallengeResponseResponseValues.ProvideCredentials,
            Username = userName,
            Password = password
        }

    Copy link
    Contributor

    qodo-merge-pro bot commented Feb 17, 2025

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Impact
    General
    Add missing changelog content

    Add meaningful changelog content for version 0.4.29 instead of leaving it empty,
    as this is a release version that should document changes.

    rust/CHANGELOG.md [1-3]

     0.4.29
     ======
    +* Updated version for Selenium 4.29.0 release
    +* Synchronized versioning with main Selenium package

    [To ensure code accuracy, apply this suggestion manually]

    Suggestion importance[1-10]: 7

    __

    Why: The suggestion addresses an important documentation gap by proposing to add meaningful changelog content for the new version, which is essential for tracking changes and informing users about updates.

    Medium
    Add newline for consistent formatting

    Add a newline character after the version number in the changelog header to
    maintain consistent formatting with other entries and ensure proper markdown
    rendering.

    Rakefile [474]

    -header = "## #{node_version}\n"
    +header = "## #{node_version}\n\n"
    • Apply this suggestion
    Suggestion importance[1-10]: 3

    __

    Why: The suggestion proposes a minor formatting improvement for better readability and consistency with other changelog entries. While valid, it has relatively low impact on functionality.

    Low
    • Update

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    C-build Build related issues (bazel and CI) Review effort 2/5
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    4 participants