Skip to content

[dotnet][rb][java][js][py] Automated Browser Version Update #15888

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

Merged
merged 1 commit into from
Jun 11, 2025

Conversation

selenium-ci
Copy link
Member

@selenium-ci selenium-ci commented Jun 11, 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 from version 139.0.1 to 139.0.4
• Update Chrome from version 137.0.7151.68 to 137.0.7151.70
• Update corresponding SHA256 checksums for all platforms


Changes walkthrough 📝

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

common/repositories.bzl

• Updated Firefox version from 139.0.1 to 139.0.4 for Linux and macOS

• Updated Chrome version from 137.0.7151.68 to 137.0.7151.70 for Linux
and macOS
• Updated SHA256 checksums for all browser and driver
downloads
• Updated ChromeDriver URLs and checksums to match Chrome
version

+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 11, 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
    🔒 Security concerns

    Checksum validation:
    The PR updates SHA256 checksums for browser and driver downloads from external sources. While this is standard practice, it's critical to verify that these checksums are correct and match the actual files being downloaded. Incorrect checksums could allow corrupted or potentially malicious files to be accepted during the build process. The checksums should be independently verified against the official Mozilla and Google Chrome for Testing repositories.

    ⚡ Recommended focus areas for review

    Checksum Validation

    The SHA256 checksums for all browser and driver downloads 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 downloads.

            url = "https://ftp.mozilla.org/pub/firefox/releases/139.0.4/linux-x86_64/en-US/firefox-139.0.4.tar.xz",
            sha256 = "fe22686f09a0c46390fea430b26cccc323d92af26869699f394f25b5e71527a3",
            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_firefox",
            url = "https://ftp.mozilla.org/pub/firefox/releases/139.0.4/mac/en-US/Firefox%20139.0.4.dmg",
            sha256 = "fc058bf34094828c0919ad81672d697cf01dfa291ba9b11e0b1c119588878405",
            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_beta_firefox",
            url = "https://ftp.mozilla.org/pub/firefox/releases/140.0b7/linux-x86_64/en-US/firefox-140.0b7.tar.xz",
            sha256 = "a6e232e676e9b1490d673745da8221614e7cab68ed73003e41d6a07d91062af8",
            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/140.0b7/mac/en-US/Firefox%20140.0b7.dmg",
            sha256 = "24a756a979ef4c23e223002e8cb748ad69236f023f0ba0168d98add4f5d0cb8e",
            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/881a4aef-792c-4d81-a76f-3cf546510d68/MicrosoftEdge-137.0.3296.68.pkg",
            sha256 = "4de62ee93ba67db666597807fc991e749f073af07a577dfdfc56dbf19409c87d",
            move = {
                "MicrosoftEdge-137.0.3296.68.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.68-1_amd64.deb",
            sha256 = "76099017ace977c74060aa134a289d93c554e9d67f6561039580fdd483da0c41",
            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.68/edgedriver_linux64.zip",
            sha256 = "0605ae9e651befd470826ff3c3baf74b3d40599c25f1edd60b09d10f5b97144a",
            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.68/edgedriver_mac64.zip",
            sha256 = "29b331d365361f0e9ef68c2e573f33ca895b3fa607823a66de9d6f226dbe4a54",
            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/137.0.7151.70/linux64/chrome-linux64.zip",
            sha256 = "da1424d975dbe963b0a7f7f8e8c2e477bfed6b3430a2bc0b287f1c247ec62ee3",
            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/137.0.7151.70/mac-x64/chrome-mac-x64.zip",
            sha256 = "2ea79a9457dbaffae6fbdf592c93776ac859dca98b448f7513cdd68234454a07",
            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/137.0.7151.70/linux64/chromedriver-linux64.zip",
            sha256 = "cade69e8d67f4951049e56d796111755e0bf9240d26378975a95c8423bb3f55a",
            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/137.0.7151.70/mac-x64/chromedriver-mac-x64.zip",
            sha256 = "d80825e87543d99ad7a8b9356fb236ddb7df3ba087f8f314991195da27a7ccc3",

    Copy link
    Contributor

    PR Code Suggestions ✨

    No code suggestions found for the PR.

    @diemol diemol merged commit abd2160 into trunk Jun 11, 2025
    35 checks passed
    @diemol diemol deleted the pinned-browser-updates branch June 11, 2025 07:38
    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.

    2 participants