Skip to content

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

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
Aug 16, 2025

Conversation

selenium-ci
Copy link
Member

@selenium-ci selenium-ci commented Aug 16, 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 Microsoft Edge browser version from 139.0.3405.86 to 139.0.3405.102

  • Update SHA256 checksums for both macOS and Linux packages

  • Update package URLs and file paths to match new version


Diagram Walkthrough

flowchart LR
  A["Edge 139.0.3405.86"] --> B["Edge 139.0.3405.102"]
  B --> C["Updated URLs & SHA256"]
  C --> D["macOS & Linux packages"]
Loading

File Walkthrough

Relevant files
Dependencies
repositories.bzl
Update Edge browser version and checksums                               

common/repositories.bzl

  • Update Microsoft Edge version from 139.0.3405.86 to 139.0.3405.102
  • Update SHA256 checksums for macOS and Linux Edge packages
  • Update download URLs and file paths to match new version
+5/-5     

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

Path Consistency

Ensure the updated macOS package path in the move map matches the internal pkg structure for 139.0.3405.102; if the Payload path or app bundle name changed, extraction will fail.

move = {
    "MicrosoftEdge-139.0.3405.102.pkg/Payload/Microsoft Edge.app": "Edge.app",
},
Checksum Validation

Verify the new SHA256 values for both macOS and Linux artifacts against upstream to prevent cache or fetch failures in Bazel.

        url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/4d599f34-3ef7-4f04-bd4b-6f35be25008c/MicrosoftEdge-139.0.3405.102.pkg",
        sha256 = "c5edb687ac110cabedf989706a6e9fade4f30375ef194f155fade830fc8837be",
        move = {
            "MicrosoftEdge-139.0.3405.102.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.102-1_amd64.deb",
        sha256 = "ad8e90dec3080065ff64a395bf04a5e9cc6adb8481d4f8829fb6f5a4c5cc7a9b",

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

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Verify macOS pkg inner path

Ensure the move path matches the actual internal path of the new .pkg. macOS
packages sometimes change internal folder names or nesting; a mismatch will
break extraction at build time. Verify and update the path using pkgutil
--expand or similar before landing.

common/repositories.bzl [124-131]

 pkg_archive(
     name = "mac_edge",
     url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/4d599f34-3ef7-4f04-bd4b-6f35be25008c/MicrosoftEdge-139.0.3405.102.pkg",
     sha256 = "c5edb687ac110cabedf989706a6e9fade4f30375ef194f155fade830fc8837be",
     move = {
+        # Confirm inner path matches extracted structure of 139.0.3405.102
         "MicrosoftEdge-139.0.3405.102.pkg/Payload/Microsoft Edge.app": "Edge.app",
     },
     build_file_content = """
  • Apply / Chat
Suggestion importance[1-10]: 7

__

Why: This is a valuable suggestion as it correctly identifies that a change in the internal structure of the .pkg file could break the build, which is a common issue when updating package dependencies.

Medium
General
Validate .deb internal layout consistency

Confirm that the .deb internal data path (e.g., opt/microsoft/msedge/...) and
any extracted binary names used elsewhere remain unchanged for 139.0.3405.102. A
change in internal layout can silently break downstream rules; validate by
inspecting the archive contents before merging.

common/repositories.bzl [144-148]

 deb_archive(
     name = "linux_edge",
     url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_139.0.3405.102-1_amd64.deb",
     sha256 = "ad8e90dec3080065ff64a395bf04a5e9cc6adb8481d4f8829fb6f5a4c5cc7a9b",
     build_file_content = """
+    # Ensure downstream consumers expect the same internal paths/binaries for 139.0.3405.102
  • Apply / Chat
Suggestion importance[1-10]: 7

__

Why: This is a useful suggestion that highlights a potential issue where changes in the internal layout of the .deb package could break downstream consumers, which is a valid concern for this type of dependency update.

Medium
Learned
best practice
Centralize repeated version literals

Avoid repeating the version string in multiple literals; centralize it in a
single constant and build URLs/paths from it. This reduces the risk of
mismatched values during future updates.

common/repositories.bzl [124-132]

+EDGE_VERSION = "139.0.3405.102"
 pkg_archive(
     name = "mac_edge",
-    url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/4d599f34-3ef7-4f04-bd4b-6f35be25008c/MicrosoftEdge-139.0.3405.102.pkg",
+    url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/4d599f34-3ef7-4f04-bd4b-6f35be25008c/MicrosoftEdge-%s.pkg" % EDGE_VERSION,
     sha256 = "c5edb687ac110cabedf989706a6e9fade4f30375ef194f155fade830fc8837be",
     move = {
-        "MicrosoftEdge-139.0.3405.102.pkg/Payload/Microsoft Edge.app": "Edge.app",
+        "MicrosoftEdge-%s.pkg/Payload/Microsoft Edge.app" % EDGE_VERSION: "Edge.app",
     },
     build_file_content = """
 load("@aspect_rules_js//js:defs.bzl", "js_library")
  • Apply / Chat
Suggestion importance[1-10]: 6

__

Why:
Relevant best practice - Fix string formatting and interpolation issues by using consistent approaches and avoiding duplicated hard-coded literals that are easy to desynchronize.

Low
  • More

@navin772 navin772 merged commit 5f276f0 into trunk Aug 16, 2025
35 checks passed
@navin772 navin772 deleted the pinned-browser-updates branch August 16, 2025 05:50
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