You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The action failed because the test test_set_context in tests/browsers/test_firefox.py (line 149) failed. The test attempts to use Firefox's chrome context but fails with the error:
"System access is required to switch to chrome scope. Start Firefox with '-remote-allow-system-access' to enable it."
The test is trying to use driver.context(driver.CONTEXT_CHROME) but Firefox is not configured with the required system access permissions. The test needs Firefox to be launched with the -remote-allow-system-access flag.
Relevant error logs:
1: ##[group]Operating System2: Microsoft Windows Server 2022
...
460: Version: 11.0.27+6461: Path: C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\11.0.27-6\x64462: ##[endgroup]463: Creating settings.xml with server-id: github464: Writing to C:\Users\runneradmin\.m2\settings.xml465: ##[group]Run nick-invision/retry@v3.0.2466: with:467: timeout_minutes: 60468: max_attempts: 3469: command: cd examples/python470: pytest --reruns 3471:
472: retry_wait_seconds: 10473: polling_interval_seconds: 1474: warning_on_retry: true475: continue_on_error: false476: env:
...
511: tests\drivers\test_remote_webdriver.py sss [ 69%]512: tests\drivers\test_service.py ... [ 71%]513: tests\elements\test_file_upload.py . [ 72%]514: tests\elements\test_information.py . [ 72%]515: tests\elements\test_interaction.py . [ 73%]516: tests\elements\test_locators.py ........ [ 77%]517: tests\interactions\test_alerts.py ... [ 79%]518: tests\interactions\test_cookies.py ...... [ 83%]519: tests\interactions\test_print_options.py ....... [ 87%]520: tests\interactions\test_prints_page.py . [ 88%]521: tests\interactions\test_virtual_authenticator.py .......... [ 94%]522: tests\support\test_expected_conditions.py . [ 94%]523: tests\support\test_select_list.py ... [ 96%]524: tests\troubleshooting\test_logging.py . [ 97%]525: tests\waits\test_waits.py ..... [100%]526: ================================== FAILURES ===================================527: ______________________________ test_set_context _______________________________528: firefox_driver = <selenium.webdriver.firefox.webdriver.WebDriver (session="8554c079-6d1d-4b9f-927e-4cc932d49e5f")>529: def test_set_context(firefox_driver):530: driver = firefox_driver531: > with driver.context(driver.CONTEXT_CHROME):532: tests\browsers\test_firefox.py:149: 533: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _534: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\contextlib.py:137: in __enter__535: return next(self.gen)536: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\site-packages\selenium\webdriver\firefox\webdriver.py:107: in context537: self.set_context(context)538: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\site-packages\selenium\webdriver\firefox\webdriver.py:89: in set_context539: self.execute("SET_CONTEXT", {"context": context})540: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\site-packages\selenium\webdriver\remote\webdriver.py:450: in execute541: self.error_handler.check_response(response)542: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _543: self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x000001850CE2ECC0>544: response = {'status': 500, 'value': '{"value":{"error":"unsupported operation","message":"System access is required to switch to ...ionette/server.sys.mjs:263:9\\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.sys.mjs:494:20\\n"}}'}545: def check_response(self, response: Dict[str, Any]) -> None:546: """Checks that a JSON response from the WebDriver does not have an547: error.548: :Args:549: - response - The JSON response from the WebDriver server as a dictionary550: object.551: :Raises: If the response contains an error message.552: """553: status = response.get("status", None)554: if not status or status == ErrorCode.SUCCESS:555: return556: value = None557: message = response.get("message", "")558: screen: str = response.get("screen", "")559: stacktrace = None560: if isinstance(status, int):561: value_json = response.get("value", None)562: if value_json and isinstance(value_json, str):563: import json564: try:565: value = json.loads(value_json)566: if len(value) == 1:567: value = value["value"]568: status = value.get("error", None)569: if not status:570: status = value.get("status", ErrorCode.UNKNOWN_ERROR)571: message = value.get("value") or value.get("message")572: if not isinstance(message, str):573: value = message574: message = message.get("message")575: else:576: message = value.get("message", None)577: except ValueError:578: pass579: exception_class: Type[WebDriverException]580: e = ErrorCode()581: error_codes = [item for item in dir(e) if not item.startswith("__")]582: for error_code in error_codes:583: error_info = getattr(ErrorCode, error_code)584: if isinstance(error_info, list) and status in error_info:585: exception_class = getattr(ExceptionMapping, error_code, WebDriverException)586: break
...
602: stacktrace = st_value.split("\n")603: else:604: stacktrace = []605: try:606: for frame in st_value:607: line = frame.get("lineNumber", "")608: file = frame.get("fileName", "<anonymous>")609: if line:610: file = f"{file}:{line}"611: meth = frame.get("methodName", "<anonymous>")612: if "className" in frame:613: meth = f"{frame['className']}.{meth}"614: msg = " at %s (%s)"615: msg = msg % (meth, file)616: stacktrace.append(msg)617: except TypeError:618: pass619: if exception_class == UnexpectedAlertPresentException:620: alert_text = None621: if "data" in value:622: alert_text = value["data"].get("text")623: elif "alert" in value:624: alert_text = value["alert"].get("text")625: raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here626: > raise exception_class(message, screen, stacktrace)627: E selenium.common.exceptions.WebDriverException: Message: System access is required to switch to chrome scope. Start Firefox with "-remote-allow-system-access" to enable it.628: E Stacktrace:629: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8630: E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5631: E UnsupportedOperationError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:927:5632: E set@chrome://remote/content/marionette/driver.sys.mjs:338:13633: E GeckoDriver.prototype.setContext@chrome://remote/content/marionette/driver.sys.mjs:811:3634: E despatch@chrome://remote/content/marionette/server.sys.mjs:318:40635: E execute@chrome://remote/content/marionette/server.sys.mjs:289:16636: E onPacket/<@chrome://remote/content/marionette/server.sys.mjs:262:20637: E onPacket@chrome://remote/content/marionette/server.sys.mjs:263:9638: E _onJSONObjectReady/<@chrome://remote/content/marionette/transport.sys.mjs:494:20639: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\site-packages\selenium\webdriver\remote\errorhandler.py:232: WebDriverException640: =========================== short test summary info ===========================641: FAILED tests/browsers/test_firefox.py::test_set_context - selenium.common.exceptions.WebDriverException: Message: System access is required to switch to chrome scope. Start Firefox with "-remote-allow-system-access" to enable it.642: Stacktrace:643: RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8644: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5645: UnsupportedOperationError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:927:5646: set@chrome://remote/content/marionette/driver.sys.mjs:338:13647: GeckoDriver.prototype.setContext@chrome://remote/content/marionette/driver.sys.mjs:811:3648: despatch@chrome://remote/content/marionette/server.sys.mjs:318:40649: execute@chrome://remote/content/marionette/server.sys.mjs:289:16650: onPacket/<@chrome://remote/content/marionette/server.sys.mjs:262:20651: onPacket@chrome://remote/content/marionette/server.sys.mjs:263:9652: _onJSONObjectReady/<@chrome://remote/content/marionette/transport.sys.mjs:494:20653: ======= 1 failed, 156 passed, 11 skipped, 3 rerun in 895.77s (0:14:55) ========654: ##[warning]Attempt 1 failed. Reason: Child_process exited with error code 1655: ##[endgroup]
...
679: tests\drivers\test_remote_webdriver.py sss [ 69%]680: tests\drivers\test_service.py ... [ 71%]681: tests\elements\test_file_upload.py . [ 72%]682: tests\elements\test_information.py . [ 72%]683: tests\elements\test_interaction.py . [ 73%]684: tests\elements\test_locators.py ........ [ 77%]685: tests\interactions\test_alerts.py ... [ 79%]686: tests\interactions\test_cookies.py ...... [ 83%]687: tests\interactions\test_print_options.py ....... [ 87%]688: tests\interactions\test_prints_page.py . [ 88%]689: tests\interactions\test_virtual_authenticator.py .......... [ 94%]690: tests\support\test_expected_conditions.py . [ 94%]691: tests\support\test_select_list.py ... [ 96%]692: tests\troubleshooting\test_logging.py . [ 97%]693: tests\waits\test_waits.py ..... [100%]694: ================================== FAILURES ===================================695: ______________________________ test_set_context _______________________________696: firefox_driver = <selenium.webdriver.firefox.webdriver.WebDriver (session="41293f45-9fc9-4794-9841-6274438e61f4")>697: def test_set_context(firefox_driver):698: driver = firefox_driver699: > with driver.context(driver.CONTEXT_CHROME):700: tests\browsers\test_firefox.py:149: 701: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _702: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\contextlib.py:137: in __enter__703: return next(self.gen)704: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\site-packages\selenium\webdriver\firefox\webdriver.py:107: in context705: self.set_context(context)706: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\site-packages\selenium\webdriver\firefox\webdriver.py:89: in set_context707: self.execute("SET_CONTEXT", {"context": context})708: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\site-packages\selenium\webdriver\remote\webdriver.py:450: in execute709: self.error_handler.check_response(response)710: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _711: self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x0000028AFD60FD10>712: response = {'status': 500, 'value': '{"value":{"error":"unsupported operation","message":"System access is required to switch to ...ionette/server.sys.mjs:263:9\\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.sys.mjs:494:20\\n"}}'}713: def check_response(self, response: Dict[str, Any]) -> None:714: """Checks that a JSON response from the WebDriver does not have an715: error.716: :Args:717: - response - The JSON response from the WebDriver server as a dictionary718: object.719: :Raises: If the response contains an error message.720: """721: status = response.get("status", None)722: if not status or status == ErrorCode.SUCCESS:723: return724: value = None725: message = response.get("message", "")726: screen: str = response.get("screen", "")727: stacktrace = None728: if isinstance(status, int):729: value_json = response.get("value", None)730: if value_json and isinstance(value_json, str):731: import json732: try:733: value = json.loads(value_json)734: if len(value) == 1:735: value = value["value"]736: status = value.get("error", None)737: if not status:738: status = value.get("status", ErrorCode.UNKNOWN_ERROR)739: message = value.get("value") or value.get("message")740: if not isinstance(message, str):741: value = message742: message = message.get("message")743: else:744: message = value.get("message", None)745: except ValueError:746: pass747: exception_class: Type[WebDriverException]748: e = ErrorCode()749: error_codes = [item for item in dir(e) if not item.startswith("__")]750: for error_code in error_codes:751: error_info = getattr(ErrorCode, error_code)752: if isinstance(error_info, list) and status in error_info:753: exception_class = getattr(ExceptionMapping, error_code, WebDriverException)754: break
...
770: stacktrace = st_value.split("\n")771: else:772: stacktrace = []773: try:774: for frame in st_value:775: line = frame.get("lineNumber", "")776: file = frame.get("fileName", "<anonymous>")777: if line:778: file = f"{file}:{line}"779: meth = frame.get("methodName", "<anonymous>")780: if "className" in frame:781: meth = f"{frame['className']}.{meth}"782: msg = " at %s (%s)"783: msg = msg % (meth, file)784: stacktrace.append(msg)785: except TypeError:786: pass787: if exception_class == UnexpectedAlertPresentException:788: alert_text = None789: if "data" in value:790: alert_text = value["data"].get("text")791: elif "alert" in value:792: alert_text = value["alert"].get("text")793: raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here794: > raise exception_class(message, screen, stacktrace)795: E selenium.common.exceptions.WebDriverException: Message: System access is required to switch to chrome scope. Start Firefox with "-remote-allow-system-access" to enable it.796: E Stacktrace:797: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8798: E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5799: E UnsupportedOperationError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:927:5800: E set@chrome://remote/content/marionette/driver.sys.mjs:338:13801: E GeckoDriver.prototype.setContext@chrome://remote/content/marionette/driver.sys.mjs:811:3802: E despatch@chrome://remote/content/marionette/server.sys.mjs:318:40803: E execute@chrome://remote/content/marionette/server.sys.mjs:289:16804: E onPacket/<@chrome://remote/content/marionette/server.sys.mjs:262:20805: E onPacket@chrome://remote/content/marionette/server.sys.mjs:263:9806: E _onJSONObjectReady/<@chrome://remote/content/marionette/transport.sys.mjs:494:20807: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\site-packages\selenium\webdriver\remote\errorhandler.py:232: WebDriverException808: =========================== short test summary info ===========================809: FAILED tests/browsers/test_firefox.py::test_set_context - selenium.common.exceptions.WebDriverException: Message: System access is required to switch to chrome scope. Start Firefox with "-remote-allow-system-access" to enable it.810: Stacktrace:811: RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8812: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5813: UnsupportedOperationError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:927:5814: set@chrome://remote/content/marionette/driver.sys.mjs:338:13815: GeckoDriver.prototype.setContext@chrome://remote/content/marionette/driver.sys.mjs:811:3816: despatch@chrome://remote/content/marionette/server.sys.mjs:318:40817: execute@chrome://remote/content/marionette/server.sys.mjs:289:16818: onPacket/<@chrome://remote/content/marionette/server.sys.mjs:262:20819: onPacket@chrome://remote/content/marionette/server.sys.mjs:263:9820: _onJSONObjectReady/<@chrome://remote/content/marionette/transport.sys.mjs:494:20821: ======= 1 failed, 156 passed, 11 skipped, 3 rerun in 806.40s (0:13:26) ========822: ##[warning]Attempt 2 failed. Reason: Child_process exited with error code 1823: ##[endgroup]
...
847: tests\drivers\test_remote_webdriver.py sss [ 69%]848: tests\drivers\test_service.py ... [ 71%]849: tests\elements\test_file_upload.py . [ 72%]850: tests\elements\test_information.py . [ 72%]851: tests\elements\test_interaction.py . [ 73%]852: tests\elements\test_locators.py ........ [ 77%]853: tests\interactions\test_alerts.py ... [ 79%]854: tests\interactions\test_cookies.py ...... [ 83%]855: tests\interactions\test_print_options.py ....... [ 87%]856: tests\interactions\test_prints_page.py . [ 88%]857: tests\interactions\test_virtual_authenticator.py .......... [ 94%]858: tests\support\test_expected_conditions.py . [ 94%]859: tests\support\test_select_list.py ... [ 96%]860: tests\troubleshooting\test_logging.py . [ 97%]861: tests\waits\test_waits.py ..... [100%]862: ================================== FAILURES ===================================863: ______________________________ test_set_context _______________________________864: firefox_driver = <selenium.webdriver.firefox.webdriver.WebDriver (session="da718133-ce5d-498b-bf66-0c72c8737a12")>865: def test_set_context(firefox_driver):866: driver = firefox_driver867: > with driver.context(driver.CONTEXT_CHROME):868: tests\browsers\test_firefox.py:149: 869: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _870: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\contextlib.py:137: in __enter__871: return next(self.gen)872: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\site-packages\selenium\webdriver\firefox\webdriver.py:107: in context873: self.set_context(context)874: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\site-packages\selenium\webdriver\firefox\webdriver.py:89: in set_context875: self.execute("SET_CONTEXT", {"context": context})876: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\site-packages\selenium\webdriver\remote\webdriver.py:450: in execute877: self.error_handler.check_response(response)878: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _879: self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x000002323A54AA20>880: response = {'status': 500, 'value': '{"value":{"error":"unsupported operation","message":"System access is required to switch to ...ionette/server.sys.mjs:263:9\\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.sys.mjs:494:20\\n"}}'}881: def check_response(self, response: Dict[str, Any]) -> None:882: """Checks that a JSON response from the WebDriver does not have an883: error.884: :Args:885: - response - The JSON response from the WebDriver server as a dictionary886: object.887: :Raises: If the response contains an error message.888: """889: status = response.get("status", None)890: if not status or status == ErrorCode.SUCCESS:891: return892: value = None893: message = response.get("message", "")894: screen: str = response.get("screen", "")895: stacktrace = None896: if isinstance(status, int):897: value_json = response.get("value", None)898: if value_json and isinstance(value_json, str):899: import json900: try:901: value = json.loads(value_json)902: if len(value) == 1:903: value = value["value"]904: status = value.get("error", None)905: if not status:906: status = value.get("status", ErrorCode.UNKNOWN_ERROR)907: message = value.get("value") or value.get("message")908: if not isinstance(message, str):909: value = message910: message = message.get("message")911: else:912: message = value.get("message", None)913: except ValueError:914: pass915: exception_class: Type[WebDriverException]916: e = ErrorCode()917: error_codes = [item for item in dir(e) if not item.startswith("__")]918: for error_code in error_codes:919: error_info = getattr(ErrorCode, error_code)920: if isinstance(error_info, list) and status in error_info:921: exception_class = getattr(ExceptionMapping, error_code, WebDriverException)922: break
...
938: stacktrace = st_value.split("\n")939: else:940: stacktrace = []941: try:942: for frame in st_value:943: line = frame.get("lineNumber", "")944: file = frame.get("fileName", "<anonymous>")945: if line:946: file = f"{file}:{line}"947: meth = frame.get("methodName", "<anonymous>")948: if "className" in frame:949: meth = f"{frame['className']}.{meth}"950: msg = " at %s (%s)"951: msg = msg % (meth, file)952: stacktrace.append(msg)953: except TypeError:954: pass955: if exception_class == UnexpectedAlertPresentException:956: alert_text = None957: if "data" in value:958: alert_text = value["data"].get("text")959: elif "alert" in value:960: alert_text = value["alert"].get("text")961: raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here962: > raise exception_class(message, screen, stacktrace)963: E selenium.common.exceptions.WebDriverException: Message: System access is required to switch to chrome scope. Start Firefox with "-remote-allow-system-access" to enable it.964: E Stacktrace:965: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8966: E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5967: E UnsupportedOperationError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:927:5968: E set@chrome://remote/content/marionette/driver.sys.mjs:338:13969: E GeckoDriver.prototype.setContext@chrome://remote/content/marionette/driver.sys.mjs:811:3970: E despatch@chrome://remote/content/marionette/server.sys.mjs:318:40971: E execute@chrome://remote/content/marionette/server.sys.mjs:289:16972: E onPacket/<@chrome://remote/content/marionette/server.sys.mjs:262:20973: E onPacket@chrome://remote/content/marionette/server.sys.mjs:263:9974: E _onJSONObjectReady/<@chrome://remote/content/marionette/transport.sys.mjs:494:20975: C:\hostedtoolcache\windows\Python\3.12.10\x64\Lib\site-packages\selenium\webdriver\remote\errorhandler.py:232: WebDriverException976: =========================== short test summary info ===========================977: FAILED tests/browsers/test_firefox.py::test_set_context - selenium.common.exceptions.WebDriverException: Message: System access is required to switch to chrome scope. Start Firefox with "-remote-allow-system-access" to enable it.978: Stacktrace:979: RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8980: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5981: UnsupportedOperationError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:927:5982: set@chrome://remote/content/marionette/driver.sys.mjs:338:13983: GeckoDriver.prototype.setContext@chrome://remote/content/marionette/driver.sys.mjs:811:3984: despatch@chrome://remote/content/marionette/server.sys.mjs:318:40985: execute@chrome://remote/content/marionette/server.sys.mjs:289:16986: onPacket/<@chrome://remote/content/marionette/server.sys.mjs:262:20987: onPacket@chrome://remote/content/marionette/server.sys.mjs:263:9988: _onJSONObjectReady/<@chrome://remote/content/marionette/transport.sys.mjs:494:20989: ======= 1 failed, 156 passed, 11 skipped, 3 rerun in 772.10s (0:12:52) ========990: ##[endgroup]991: ##[error]Final attempt failed. Child_process exited with error code 1992: Post job cleanup.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==4.25.0->==4.26.0Release Notes
tox-dev/tox (tox)
v4.26.0Compare Source
What's Changed
config.rstby @webknjaz in https://github.com/tox-dev/tox/pull/3509--wheelby @robsdedude in https://github.com/tox-dev/tox/pull/3528New Contributors
Full Changelog: tox-dev/tox@4.25.0...4.26.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.