mirror of
https://github.com/electron/electron.git
synced 2026-05-02 03:00:22 -04:00
* ci: build a patched siso for Windows builds The Windows Chromium builds intermittently fail during manifest load with 'The parameter is incorrect.' (ERROR_INVALID_PARAMETER) out of bindflt.sys. Root cause is a handle-relative NtCreateFile race in siso/toolsupport/ninjautil/file_parser.go, which opens each subninja twice — once in the outer goroutine and once more per chunk for ReadAt. (*os.File).ReadAt is documented as safe for concurrent use, so the extra open is redundant and removing it both halves the CreateFileW calls per subninja and sidesteps the race. Add a new build-siso-windows job on ubuntu-latest (runs in parallel with checkout-windows) that: - reads chromium_version from DEPS and pulls the matching siso_version SHA from the Chromium mirror's DEPS at that ref - shallow-clones chromium.googlesource.com/build at that SHA - applies the in-tree patches under .github/siso-patches/ via git am - cross-compiles siso.exe for windows/amd64 - caches the binary keyed on siso SHA + sha256 of the patches, so subsequent runs hit the cache and skip the clone/patch/build steps - uploads the result as a siso-windows-amd64 artifact The Windows build jobs now depend on build-siso-windows, download the artifact into $RUNNER_TEMP/siso, and export SISO_PATH, which depot_tools/siso.py already honors. Mirrored into windows-publish.yml and the regenerated pipeline-segment-electron-publish.yml so release builds pick it up too. Notes: none Co-authored-by: Sam Attard <sattard@anthropic.com> * ci: extract siso build into a reusable workflow segment Move the build-siso-windows job body into pipeline-segment-build-siso-windows.yml and call it from both build.yml and windows-publish.yml via workflow_call. Also pin actions/cache to v5.0.5 and add version comments next to the action SHAs introduced by this change. Co-authored-by: Sam Attard <sattard@anthropic.com> --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Sam Attard <sattard@anthropic.com>