jkleinsc

#52535: build: build siso per host so a cache miss only reruns that platform

Merged
Created: Jul 29, 2026, 1:29:14 PM
Merged: Jul 30, 2026, 9:00:29 AM
5 comments
Target: main

Description of Change

Currently pipeline-segment-build-siso.yml builds all three host binaries (windows-amd64, linux-amd64, darwin-arm64) in a single matrix job, and every downstream build/publish job depends on that one job. Because GitHub Actions dependencies are job-level, a cache miss or manual re-run for a single host forced the whole siso job — and therefore every platform's builds — to re-run.

Additionally, the release jobs were running the jobs to build all three binaries, eg linux builds (or at least checks the cache for) mac: https://github.com/electron/electron/actions/runs/30454044312/job/90583265600

This PR changes pipeline-segment-build-siso.yml to include a parameter to specify which host to build for so it builds exactly one binary per invocation. Callers now instantiate one siso job per host they actually need, and each build job depends only on its own host's siso job. A cache miss or re-run for one host is now isolated to that host's builds.

Checklist

Release Notes

Notes: none

Backports

41-x-y
Pending
Waiting for a manual backport
42-x-y
Pending
Waiting for a manual backport
43-x-y
Pending
Waiting for a manual backport
44-x-y
Merged
PR Number
#52555
Merged At
Jul 30, 2026, 11:47:46 AM
Released In
v44.0.0-alpha.8
Release Date
Jul 30, 2026, 3:00:15 PM

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