Skip to content

Conversation

selenium-ci
Copy link
Member

@selenium-ci selenium-ci commented Aug 27, 2025

This is an automated pull request to update pinned browsers and drivers

Merge after verify the new browser versions properly passing the tests and no bugs need to be filed

@selenium-ci selenium-ci added the B-build Includes scripting, bazel and CI integrations label Aug 27, 2025
Copy link
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

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

Integrity Hash Mismatch

Verify all updated sha256 checksums match the downloaded artifacts for the new URLs to avoid fetch/build failures in CI.

        url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b4/linux-x86_64/en-US/firefox-143.0b4.tar.xz",
        sha256 = "d12919259ce9e8e38ed5142e68859250513cfcc5be6b9591b30030a67bb2fc7a",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

filegroup(
    name = "files",
    srcs = glob(["**/*"]),
)

exports_files(["firefox/firefox"])

js_library(
    name = "firefox-js",
    data = [":files"],
)
""",
    )

    dmg_archive(
        name = "mac_beta_firefox",
        url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b4/mac/en-US/Firefox%20143.0b4.dmg",
        sha256 = "fca0e5c200755b983b6c9a1af95b45a59bb7ec92095e2ab9f81b99f5b6a9d238",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

exports_files(["Firefox.app"])

js_library(
    name = "firefox-js",
    data = glob(["Firefox.app/**/*"]),
)
""",
    )

    http_archive(
        name = "linux_geckodriver",
        url = "https://github.com/mozilla/geckodriver/releases/download/v0.36.0/geckodriver-v0.36.0-linux64.tar.gz",
        sha256 = "0bde38707eb0a686a20c6bd50f4adcc7d60d4f73c60eb83ee9e0db8f65823e04",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

exports_files(["geckodriver"])

js_library(
    name = "geckodriver-js",
    data = ["geckodriver"],
)
""",
    )

    http_archive(
        name = "mac_geckodriver",
        url = "https://github.com/mozilla/geckodriver/releases/download/v0.36.0/geckodriver-v0.36.0-macos.tar.gz",
        sha256 = "b5627bfc29801b8752c9f1e7699018963c39c076aab6576dc14fcb1ce7a256f6",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

exports_files(["geckodriver"])

js_library(
    name = "geckodriver-js",
    data = ["geckodriver"],
)
""",
    )

    pkg_archive(
        name = "mac_edge",
        url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/95344cbf-d116-4494-8485-b96014e98901/MicrosoftEdge-139.0.3405.119.pkg",
        sha256 = "31b3ddce353180a706179d64086ed01b53cfd20a7daea45597a7e9e405fc553f",
        move = {
            "MicrosoftEdge-139.0.3405.119.pkg/Payload/Microsoft Edge.app": "Edge.app",
        },
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

exports_files(["Edge.app"])

js_library(
    name = "edge-js",
    data = glob(["Edge.app/**/*"]),
)
""",
    )

    deb_archive(
        name = "linux_edge",
        url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_139.0.3405.119-1_amd64.deb",
        sha256 = "e51e4e36cde5e7be2031fd9145ac9bf26444f734a88ff43858e05c7782e60c7b",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

filegroup(
    name = "files",
    srcs = glob(["**/*"]),
)

exports_files(["opt/microsoft/msedge/microsoft-edge"])

js_library(
    name = "edge-js",
    data = [":files"],
)
""",
    )

    http_archive(
        name = "linux_edgedriver",
        url = "https://msedgedriver.microsoft.com/139.0.3405.119/edgedriver_linux64.zip",
        sha256 = "a8466733ad2508902a0b83d07594a4ae4541e0a0619abd240bf501cfc1154ad1",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

exports_files(["msedgedriver"])

js_library(
    name = "msedgedriver-js",
    data = ["msedgedriver"],
)
""",
    )

    http_archive(
        name = "mac_edgedriver",
        url = "https://msedgedriver.microsoft.com/139.0.3405.119/edgedriver_mac64.zip",
        sha256 = "3d183d0ec03f20e635649f5260de11a484eed1bc2e6b9b4a9b094662e3b2efdb",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

exports_files(["msedgedriver"])

js_library(
    name = "msedgedriver-js",
    data = ["msedgedriver"],
)
""",
    )

    http_archive(
        name = "linux_chrome",
        url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.154/linux64/chrome-linux64.zip",
        sha256 = "bfaade5ad550f728b25a46077c90c0703b8d1bdf48c6a74ccac29c5cd5f57b56",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

filegroup(
    name = "files",
    srcs = glob(["**/*"]),
)

exports_files(["chrome-linux64/chrome"])

js_library(
    name = "chrome-js",
    data = [":files"],
)
""",
    )
    http_archive(
        name = "mac_chrome",
        url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.154/mac-x64/chrome-mac-x64.zip",
        sha256 = "83d04846c500de39fa1eaca349ef636b6af597a8ed4b605acb46b866a88d503b",
        strip_prefix = "chrome-mac-x64",
        patch_cmds = [
            "mv 'Google Chrome for Testing.app' Chrome.app",
            "mv 'Chrome.app/Contents/MacOS/Google Chrome for Testing' Chrome.app/Contents/MacOS/Chrome",
        ],
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

exports_files(["Chrome.app"])

js_library(
    name = "chrome-js",
    data = glob(["Chrome.app/**/*"]),
)
""",
    )
    http_archive(
        name = "linux_chromedriver",
        url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.154/linux64/chromedriver-linux64.zip",
        sha256 = "0b8e3924c2087cbe94e7bad27e7084ab908aeb53441a4e5a7f1f01c0b82a875e",
        strip_prefix = "chromedriver-linux64",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

exports_files(["chromedriver"])

js_library(
    name = "chromedriver-js",
    data = ["chromedriver"],
)
""",
    )

    http_archive(
        name = "mac_chromedriver",
        url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.154/mac-x64/chromedriver-mac-x64.zip",
        sha256 = "949505cb45f015607dd2e0e56d89f4f4c8415a51dc41d97c20b60d78af6caabc",
        strip_prefix = "chromedriver-mac-x64",
Cross-Platform Coverage

Only Linux and macOS archives are updated; confirm whether Windows browser/drivers are intentionally excluded or updated elsewhere to prevent version skew across platforms.

        name = "linux_edgedriver",
        url = "https://msedgedriver.microsoft.com/139.0.3405.119/edgedriver_linux64.zip",
        sha256 = "a8466733ad2508902a0b83d07594a4ae4541e0a0619abd240bf501cfc1154ad1",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

exports_files(["msedgedriver"])

js_library(
    name = "msedgedriver-js",
    data = ["msedgedriver"],
)
""",
    )

    http_archive(
        name = "mac_edgedriver",
        url = "https://msedgedriver.microsoft.com/139.0.3405.119/edgedriver_mac64.zip",
        sha256 = "3d183d0ec03f20e635649f5260de11a484eed1bc2e6b9b4a9b094662e3b2efdb",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

exports_files(["msedgedriver"])

js_library(
    name = "msedgedriver-js",
    data = ["msedgedriver"],
)
""",
    )

    http_archive(
        name = "linux_chrome",
        url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.154/linux64/chrome-linux64.zip",
        sha256 = "bfaade5ad550f728b25a46077c90c0703b8d1bdf48c6a74ccac29c5cd5f57b56",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

filegroup(
    name = "files",
    srcs = glob(["**/*"]),
)

exports_files(["chrome-linux64/chrome"])

js_library(
    name = "chrome-js",
    data = [":files"],
)
""",
    )
    http_archive(
        name = "mac_chrome",
        url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.154/mac-x64/chrome-mac-x64.zip",
        sha256 = "83d04846c500de39fa1eaca349ef636b6af597a8ed4b605acb46b866a88d503b",
        strip_prefix = "chrome-mac-x64",
        patch_cmds = [
            "mv 'Google Chrome for Testing.app' Chrome.app",
            "mv 'Chrome.app/Contents/MacOS/Google Chrome for Testing' Chrome.app/Contents/MacOS/Chrome",
        ],
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

exports_files(["Chrome.app"])

js_library(
    name = "chrome-js",
    data = glob(["Chrome.app/**/*"]),
)
""",
    )
    http_archive(
        name = "linux_chromedriver",
        url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.154/linux64/chromedriver-linux64.zip",
        sha256 = "0b8e3924c2087cbe94e7bad27e7084ab908aeb53441a4e5a7f1f01c0b82a875e",
        strip_prefix = "chromedriver-linux64",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

exports_files(["chromedriver"])

js_library(
    name = "chromedriver-js",
    data = ["chromedriver"],
)
""",
    )

    http_archive(
        name = "mac_chromedriver",
        url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.154/mac-x64/chromedriver-mac-x64.zip",
        sha256 = "949505cb45f015607dd2e0e56d89f4f4c8415a51dc41d97c20b60d78af6caabc",
        strip_prefix = "chromedriver-mac-x64",

Copy link
Contributor

qodo-merge-pro bot commented Aug 27, 2025

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
High-level
Align versions across platforms

The updates target Linux and macOS x64 but seem to omit Windows and potentially
macOS arm64, which can create cross-platform version drift and driver/browser
mismatches. Ensure all supported platforms are bumped in lockstep (e.g., Chrome
and ChromeDriver 139.0.7258.154 everywhere) to avoid CI failures and flaky
behavior. If arm64/Windows archives exist in this repo, update their URLs and
checksums in this same PR.

Examples:

common/repositories.bzl [201-224]
        name = "linux_chrome",
        url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.154/linux64/chrome-linux64.zip",
        sha256 = "bfaade5ad550f728b25a46077c90c0703b8d1bdf48c6a74ccac29c5cd5f57b56",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

filegroup(
    name = "files",
    srcs = glob(["**/*"]),

 ... (clipped 14 lines)

Solution Walkthrough:

Before:

# common/repositories.bzl

# Chrome for linux x64
http_archive(
    name = "linux_chrome",
    url = ".../139.0.7258.154/.../chrome-linux64.zip", # updated
    ...
)

# Chrome for mac x64
http_archive(
    name = "mac_chrome",
    url = ".../139.0.7258.154/.../chrome-mac-x64.zip", # updated
    ...
)

# Hypothetical Chrome for Windows, not updated in the PR
http_archive(
    name = "windows_chrome",
    url = ".../139.0.7258.138/.../chrome-win64.zip", # old version
    ...
)

After:

# common/repositories.bzl

# Chrome for linux x64
http_archive(
    name = "linux_chrome",
    url = ".../139.0.7258.154/.../chrome-linux64.zip", # updated
    ...
)

# Chrome for mac x64
http_archive(
    name = "mac_chrome",
    url = ".../139.0.7258.154/.../chrome-mac-x64.zip", # updated
    ...
)

# Hypothetical Chrome for Windows, now updated
http_archive(
    name = "windows_chrome",
    url = ".../139.0.7258.154/.../chrome-win64.zip", # updated
    ...
)
Suggestion importance[1-10]: 8

__

Why: The suggestion correctly identifies that the PR only updates Linux and macOS x64 versions, potentially creating version drift if other platforms like Windows or macOS arm64 are also supported in common/repositories.bzl.

Medium
  • Update

@selenium-ci selenium-ci force-pushed the pinned-browser-updates branch 2 times, most recently from 2149f47 to b26102e Compare August 29, 2025 00:39
@selenium-ci selenium-ci force-pushed the pinned-browser-updates branch from b26102e to a2f3e75 Compare August 30, 2025 00:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B-build Includes scripting, bazel and CI integrations Review effort 2/5
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant