Skip to content

Conversation

selenium-ci
Copy link
Member

@selenium-ci selenium-ci commented Aug 13, 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 Chrome browser version from 139.0.7258.66 to 139.0.7258.68

  • Update ChromeDriver version to match new browser version

  • Update SHA256 checksums for Linux and macOS binaries


Diagram Walkthrough

flowchart LR
  A["Chrome 139.0.7258.66"] --> B["Chrome 139.0.7258.68"]
  C["ChromeDriver 139.0.7258.66"] --> D["ChromeDriver 139.0.7258.68"]
  E["Old SHA256 checksums"] --> F["Updated SHA256 checksums"]
Loading

File Walkthrough

Relevant files
Dependencies
repositories.bzl
Update Chrome and ChromeDriver versions                                   

common/repositories.bzl

  • Updated Chrome browser URLs from version 139.0.7258.66 to
    139.0.7258.68
  • Updated ChromeDriver URLs to match new browser version
  • Updated SHA256 checksums for Linux and macOS binaries
+8/-8     

@selenium-ci selenium-ci added the B-build Includes scripting, bazel and CI integrations label Aug 13, 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

Checksum Validity

Verify the new SHA256 values actually match the downloaded archives for the updated URLs across Linux and macOS to prevent cache or fetch failures in CI.

        url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.68/linux64/chrome-linux64.zip",
        sha256 = "57966f0d19e7c4294d89e7fa25b1a6f0801475c3d51cf708597d5af9a9e474f8",
        build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
URL Consistency

Ensure all platform-specific URLs were updated consistently to 139.0.7258.68, including any arm64 variants if used elsewhere, to avoid mixed browser/driver versions.

        url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.68/mac-x64/chrome-mac-x64.zip",
        sha256 = "a49442c4cc6a28faeeecde16d27b5b8a1c5306020788c81160f2a19388ecf645",
        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.68/linux64/chromedriver-linux64.zip",
        sha256 = "ec29104132a6ff1ae5f2ffe7b27b7ff675a58ab9b1ef616badcbdd35577b31b3",
        strip_prefix = "chromedriver-linux64",

Copy link
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Security
Enforce deterministic extraction layout

Pin the archive integrity to both sha256 and strip_prefix (or enforce expected
top-level dir) to avoid supply-chain issues if the upstream layout changes. Add
strip_prefix consistent with the archive root to prevent accidental file
pollution during extraction.

common/repositories.bzl [200-208]

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

[To ensure code accuracy, apply this suggestion manually]

Suggestion importance[1-10]: 8

__

Why: The suggestion correctly identifies that the linux_chrome archive is missing a strip_prefix, which is present in all other similar archives in the file, improving consistency and security.

Medium
Learned
best practice
Centralize version string usage

Avoid repeating version strings inline across multiple URLs to reduce copy-paste
errors during updates. Extract the version into a single variable and compose
URLs from it so future bumps require one change.

common/repositories.bzl [202]

-url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.68/linux64/chrome-linux64.zip",
+CHROME_VERSION = "139.0.7258.68"
+url = f"https://storage.googleapis.com/chrome-for-testing-public/{CHROME_VERSION}/linux64/chrome-linux64.zip",

[To ensure code accuracy, apply this suggestion manually]

Suggestion importance[1-10]: 6

__

Why:
Relevant best practice - Fix string formatting and interpolation issues by using platform-appropriate path separators and avoiding hard-coded, duplicated string fragments.

Low
  • More

@diemol diemol merged commit 8537f30 into trunk Aug 13, 2025
34 of 35 checks passed
@diemol diemol deleted the pinned-browser-updates branch August 13, 2025 06:11
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