Skip to content

Conversation

@selenium-ci
Copy link
Member

@selenium-ci selenium-ci commented Dec 3, 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

Enhancement


Description

  • Update Chrome and ChromeDriver versions from 142.0.7444.175 to 143.0.7499.40

  • Update Linux Chrome binary and corresponding SHA256 hash

  • Update macOS Chrome binary and corresponding SHA256 hash

  • Update Linux and macOS ChromeDriver binaries with new hashes


Diagram Walkthrough

flowchart LR
  A["Chrome/ChromeDriver v142.0.7444.175"] -- "Update to v143.0.7499.40" --> B["Linux Chrome"]
  A -- "Update to v143.0.7499.40" --> C["macOS Chrome"]
  A -- "Update to v143.0.7499.40" --> D["Linux ChromeDriver"]
  A -- "Update to v143.0.7499.40" --> E["macOS ChromeDriver"]
  B --> F["New SHA256 hashes"]
  C --> F
  D --> F
  E --> F
Loading

File Walkthrough

Relevant files
Configuration changes
repositories.bzl
Update Chrome and ChromeDriver pinned versions                     

common/repositories.bzl

  • Updated Chrome version from 142.0.7444.175 to 143.0.7499.40 for Linux
    and macOS
  • Updated ChromeDriver version from 142.0.7444.175 to 143.0.7499.40 for
    Linux and macOS
  • Updated all corresponding SHA256 checksums for binary verification
  • Modified four http_archive entries: linux_chrome, mac_chrome,
    linux_chromedriver, and mac_chromedriver
+8/-8     

@selenium-ci selenium-ci added the B-build Includes scripting, bazel and CI integrations label Dec 3, 2025
@qodo-code-review
Copy link
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status:
No audit scope: The changes only update external binary URLs and hashes without introducing or modifying
any application logic where audit trails would apply, so compliance cannot be determined
from this diff alone.

Referred Code
        url = "https://storage.googleapis.com/chrome-for-testing-public/143.0.7499.40/linux64/chrome-linux64.zip",
        sha256 = "149b71620aaf96d94f7500995aa58baabb7702e29c0a7cbef62d14a75f865068",
        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",


 ... (clipped 42 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status:
No error paths: The diff only updates Bazel http_archive URLs and sha256 values without adding code paths
where runtime errors are handled, so robustness cannot be assessed from these changes
alone.

Referred Code
    http_archive(
        name = "linux_chrome",
        url = "https://storage.googleapis.com/chrome-for-testing-public/143.0.7499.40/linux64/chrome-linux64.zip",
        sha256 = "149b71620aaf96d94f7500995aa58baabb7702e29c0a7cbef62d14a75f865068",
        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"],
)
""",
    )


 ... (clipped 46 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status:
No user errors: The change only updates dependency archives and does not introduce user-facing error
messages, so secure error handling cannot be evaluated from this diff.

Referred Code
    http_archive(
        name = "linux_chrome",
        url = "https://storage.googleapis.com/chrome-for-testing-public/143.0.7499.40/linux64/chrome-linux64.zip",
        sha256 = "149b71620aaf96d94f7500995aa58baabb7702e29c0a7cbef62d14a75f865068",
        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"],
)
""",
    )


 ... (clipped 46 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status:
External binaries: The PR updates external binary URLs and checksums which affects supply-chain inputs, but
validation and trust model beyond sha256 verification are not visible in this diff and
require broader review.

Referred Code
    http_archive(
        name = "linux_chrome",
        url = "https://storage.googleapis.com/chrome-for-testing-public/143.0.7499.40/linux64/chrome-linux64.zip",
        sha256 = "149b71620aaf96d94f7500995aa58baabb7702e29c0a7cbef62d14a75f865068",
        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"],
)
""",
    )


 ... (clipped 44 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-code-review
Copy link
Contributor

PR Code Suggestions ✨

No code suggestions found for the PR.

@diemol diemol merged commit 8adb000 into trunk Dec 3, 2025
153 of 157 checks passed
@diemol diemol deleted the pinned-browser-updates branch December 3, 2025 10:23
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.

3 participants