Skip to content

Conversation

@selenium-ci
Copy link
Member

@selenium-ci selenium-ci commented Jun 26, 2025

User description

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


PR Type

Other


Description

  • Update Firefox beta from 141.0b1 to 141.0b2

  • Update Chrome beta from 138.0.7204.49 to 139.0.7258.6

  • Update ChromeDriver to match Chrome version

  • Update SHA256 checksums for all browser binaries


Changes walkthrough 📝

Relevant files
Configuration changes
repositories.bzl
Update browser versions and checksums                                       

common/repositories.bzl

  • Update Firefox beta version from 141.0b1 to 141.0b2 for Linux and
    macOS
  • Update Chrome beta version from 138.0.7204.49 to 139.0.7258.6 for
    Linux and macOS
  • Update ChromeDriver version to match Chrome beta for Linux and macOS
  • Update SHA256 checksums for all updated browser binaries
  • +12/-12 

    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 B-build Includes scripting, bazel and CI integrations label Jun 26, 2025
    @qodo-merge-pro
    Copy link
    Contributor

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
    🧪 No relevant tests
    🔒 Security concerns

    Checksum integrity:
    The PR updates SHA256 checksums for browser binaries downloaded from external sources. If these checksums are incorrect, it could lead to downloading corrupted or potentially malicious binaries. The checksums should be independently verified against the official browser releases to ensure they match the legitimate binaries from Mozilla and Google.

    ⚡ Recommended focus areas for review

    Checksum Validation

    The SHA256 checksums for all browser binaries have been updated. These checksums should be verified against the actual downloaded files to ensure integrity and prevent potential security issues from corrupted or tampered binaries.

            sha256 = "0d60ea31ec38fed508fbfc6105af7cc86f564a8e21f464fd91e8bcc44c48e040",
            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/141.0b2/mac/en-US/Firefox%20141.0b2.dmg",
            sha256 = "16ee4e04eae3db7e7f08fc8953b06f0cc4b55899da739608d9da4cd4750b1da6",
            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/8146afbf-4969-4acb-baa7-a1b8a83745e5/MicrosoftEdge-137.0.3296.93.pkg",
            sha256 = "e098a79ceb0a843ff0d9331c86b27a49a6b26ba798f28d59a342ce8c2534f54b",
            move = {
                "MicrosoftEdge-137.0.3296.93.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_137.0.3296.93-1_amd64.deb",
            sha256 = "482f21e9443f79ee5995058066c982d42a392b2e24697ba8329bd566d4c83074",
            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.azureedge.net/137.0.3296.93/edgedriver_linux64.zip",
            sha256 = "417bdfafbe8358e2b040b86b0e255344e0d200bd7087a9d85171abc9fc0c29c3",
            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.azureedge.net/137.0.3296.93/edgedriver_mac64.zip",
            sha256 = "d55e0f377ba45c1d754625b88f16493bded924b41bd624210241493b77e4fdb9",
            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/138.0.7204.49/linux64/chrome-linux64.zip",
            sha256 = "8751e9a4a0ca7c8127acb06c4fe0c438d091c0fb1c3712dcd4ea277773177304",
            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/138.0.7204.49/mac-x64/chrome-mac-x64.zip",
            sha256 = "98e4f2e97a31ca7104f72ca1fbe506b0070dd181f0bccc1b4af90ff950ceaa57",
            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/138.0.7204.49/linux64/chromedriver-linux64.zip",
            sha256 = "0ef562acf7a87733a77cf51f52e3841cf7fb63c17d618b6ccb45a9a53ca89017",
            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/138.0.7204.49/mac-x64/chromedriver-mac-x64.zip",
            sha256 = "bff1fc6075912698a1699a8d0979da3fdc576775a3fe78e6ae68338459c8882f",
            strip_prefix = "chromedriver-mac-x64",
            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 = "linux_beta_chrome",
            url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.6/linux64/chrome-linux64.zip",
            sha256 = "9e13f092899dacaaf24a9f75ef9152ca32eccc0a3e92c442b655ef1df49166db",
            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_beta_chrome",
            url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.6/mac-x64/chrome-mac-x64.zip",
            sha256 = "feae578043bfe8625304f7ff84776038ee7e02c11c7502a67f0f1b89503d31ee",
            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_beta_chromedriver",
            url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.6/linux64/chromedriver-linux64.zip",
            sha256 = "05acfaa7e695b62e9b605646fc499bf1ab0abb11d410e250e06305a93eb69496",
            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_beta_chromedriver",
            url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.6/mac-x64/chromedriver-mac-x64.zip",
            sha256 = "8f6c3b5af19b9e37582f82159a43f0b2cfe6eaa91102ea5a712b047ab63b9008",

    @qodo-merge-pro
    Copy link
    Contributor

    qodo-merge-pro bot commented Jun 26, 2025

    PR Code Suggestions ✨

    No code suggestions found for the PR.

    @shbenzer
    Copy link
    Contributor

    Verified checksums manually

    @navin772 navin772 merged commit 83b5fb0 into trunk Jun 26, 2025
    32 checks passed
    @navin772 navin772 deleted the pinned-browser-updates branch June 26, 2025 06:28
    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 Possible security concern Review effort 2/5

    Projects

    None yet

    Development

    Successfully merging this pull request may close these issues.

    4 participants