From c4158e6bbb15f84c50440fcf4d26e2ea29f064cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Mon, 16 Mar 2026 11:41:01 +0100 Subject: [PATCH 1/5] GH-49522: [CI] Update chrome_version for emscripten job to latest stable (v146) --- compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose.yaml b/compose.yaml index c799059fe254..7be32c2ed4d4 100644 --- a/compose.yaml +++ b/compose.yaml @@ -948,7 +948,7 @@ services: clang_tools: ${CLANG_TOOLS} llvm: ${LLVM} pyodide_version: "0.26.0" - chrome_version: "134" + chrome_version: "146" selenium_version: "4.15.2" required_python_min: "(3,12)" python: ${PYTHON} From e2ca39e558a54679c6d10e21dc0fe3dfc8d49c22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Mon, 16 Mar 2026 17:41:13 +0100 Subject: [PATCH 2/5] Try upgrading to a newer selenium version to be compatible with new chrome stable --- ci/docker/conda-python-emscripten.dockerfile | 2 +- compose.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/docker/conda-python-emscripten.dockerfile b/ci/docker/conda-python-emscripten.dockerfile index 878f918710f2..c56bf4f0c593 100644 --- a/ci/docker/conda-python-emscripten.dockerfile +++ b/ci/docker/conda-python-emscripten.dockerfile @@ -20,7 +20,7 @@ ARG arch ARG python="3.12" FROM ${repo}:${arch}-conda-python-${python} -ARG selenium_version="4.15.2" +ARG selenium_version="4.41.0" ARG pyodide_version="0.26.0" ARG chrome_version="latest" ARG required_python_min="(3,12)" diff --git a/compose.yaml b/compose.yaml index 7be32c2ed4d4..a1ba7b0c3df1 100644 --- a/compose.yaml +++ b/compose.yaml @@ -949,7 +949,7 @@ services: llvm: ${LLVM} pyodide_version: "0.26.0" chrome_version: "146" - selenium_version: "4.15.2" + selenium_version: "4.41.0" required_python_min: "(3,12)" python: ${PYTHON} shm_size: *shm-size From e5e292fdc51e76c40dafb65f50322e924752627e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 17 Mar 2026 14:20:29 +0100 Subject: [PATCH 3/5] Add some more logging --- python/scripts/run_emscripten_tests.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python/scripts/run_emscripten_tests.py b/python/scripts/run_emscripten_tests.py index a4f9ce9d9a28..81223859a48f 100644 --- a/python/scripts/run_emscripten_tests.py +++ b/python/scripts/run_emscripten_tests.py @@ -35,7 +35,9 @@ class TemplateOverrider(http.server.SimpleHTTPRequestHandler): def log_request(self, code="-", size="-"): - # don't log successful requests + # don't log successful requests but log errors + if isinstance(code, int) and code >= 400: + sys.stderr.write(f"HTTP {code} for {self.path}\n") return def do_GET(self) -> bytes | None: From 161a055a76afb47aa0e08521f98fc04b9c2cf5bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 17 Mar 2026 15:10:57 +0100 Subject: [PATCH 4/5] Try increasing timeout (it works locally but times out on CI) --- python/scripts/run_emscripten_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/scripts/run_emscripten_tests.py b/python/scripts/run_emscripten_tests.py index 81223859a48f..959ba4c2ee17 100644 --- a/python/scripts/run_emscripten_tests.py +++ b/python/scripts/run_emscripten_tests.py @@ -202,7 +202,7 @@ class BrowserDriver: def __init__(self, hostname, port, driver): self.driver = driver self.driver.get(f"http://{hostname}:{port}/test.html") - self.driver.set_script_timeout(100) + self.driver.set_script_timeout(300) def load_pyodide(self, dist_dir): pass From 983d8c343c5cbab1a8f9b07094dbd86fbb97ee24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 17 Mar 2026 15:42:03 +0100 Subject: [PATCH 5/5] Try increasing default timeout --- python/scripts/run_emscripten_tests.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python/scripts/run_emscripten_tests.py b/python/scripts/run_emscripten_tests.py index 959ba4c2ee17..b8dcb7aeca1b 100644 --- a/python/scripts/run_emscripten_tests.py +++ b/python/scripts/run_emscripten_tests.py @@ -261,7 +261,9 @@ def __init__(self, hostname, port): options = Options() options.add_argument("--headless") options.add_argument("--no-sandbox") - super().__init__(hostname, port, webdriver.Chrome(options=options)) + driver = webdriver.Chrome(options=options) + driver.command_executor._client_config.timeout = 300 + super().__init__(hostname, port, driver) class FirefoxDriver(BrowserDriver):