MarshallOfSound

#53450: build: pin the siso revision in build/siso_revision instead of fetching Chromium's DEPS in CI

Merged
Created: Sep 3, 2026, 3:25:27 AM
Merged: Sep 3, 2026, 12:06:54 PM
7 comments
Target: main

Description of Change

pipeline-segment-build-siso needs the siso commit that our pinned Chromium expects. Until now it curled Chromium's DEPS from raw.githubusercontent.com on every run to find it, and that fetch has failed main several times recently (HTTP errors and a TLS reset; on 09-02 it took out all three siso jobs in one run). The value only changes when Chromium rolls, so this records it in the repo and removes the fetch entirely:

  • build/siso_revision holds the sha. The build-siso job reads it from its sparse checkout; no network involved in resolving it any more.
  • script/gen-siso-revision.js derives the value from the synced Chromium tree (siso_version in src/DEPS). It runs as a gen_siso_revision gclient hook after every sync, from lint-staged when DEPS changes, and with --check in the gn-check job so a roll that forgets to commit the updated file fails with a message saying exactly what to do.
  • script/lint-roller-chromium-changes.mjs accepts a chore: update siso revision commit that touches only that file, and the Chromium upgrade skill/commit guidelines say to make that commit after a successful e sync --3 — same treatment as filenames.libcxx.gni.

Seeded with the revision for the currently pinned Chromium (155.0.8038.2 → efbbe7f18922…). Release branches keep the old curl step until this is backported.

Checklist

Release Notes

Notes: none

Backports

43-x-y
Merged
PR Number
#53478
Merged At
Sep 3, 2026, 5:07:02 PM
Released In
v43.6.0
Release Date
Sep 3, 2026, 7:24:06 PM
44-x-y
Merged
PR Number
#53477
Merged At
Sep 3, 2026, 5:07:10 PM
Released In
v44.2.0
Release Date
Sep 3, 2026, 7:23:56 PM
45-x-y
Merged
PR Number
#53476
Merged At
Sep 3, 2026, 5:07:31 PM
Released In
Not yet
Release Date
Not yet

Semver Impact

Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.

Semantic Versioning helps users understand the impact of updates:

  • Major (X.y.z): Breaking changes that may require code modifications
  • Minor (x.Y.z): New features that maintain backward compatibility
  • Patch (x.y.Z): Bug fixes that don't change the API
  • None: Changes that don't affect using facing parts of Electron