ckerr

#54114: test: stop updater preparation on cancellation

Merged
Created: Sep 18, 2026, 11:59:36 PM
Merged: Sep 19, 2026, 6:18:24 PM
4 comments
Target: main

Description of Change

Timed-out macOS updater tests can leave signing and archive processes running into retries.

Run cleanup tracks fixture apps, but preparation launches codesign and zip outside that tracking. Archive creation also ignores zip's exit status, allowing a failed archive to be cached and reused.

Route preparation commands through the existing tracked runner, check cancellation between preparation steps, and reject unsuccessful archive creation before caching. Keep signing arguments centralized in signApp through an optional runner, preserving existing callers' behavior. Timeout diagnostics now distinguish signing from archive creation.

Controlled Node subprocess checks with mocked macOS operations cover cancellation, nonzero exits, retry/cache behavior, and both signing paths. Scoped lint, formatting, and pre-commit hooks pass. Draft pending native macOS validation. The cause of the initial CI slowdown is still unproven.

Backport audit: 45-x-y, 44-x-y, 43-x-y, and 42-x-y are affected. Their six relevant signing, preparation, and cleanup functions match the pre-fix implementation, and the exact patch applies cleanly to all four. This is a source/applicability check, not native validation on those releases.

Checklist

Release Notes

Notes: none

Backports

43-x-y
Merged
PR Number
#54126
Merged At
Sep 19, 2026, 7:57:39 PM
Released In
Not yet
Release Date
Not yet
44-x-y
Merged
PR Number
#54125
Merged At
Sep 19, 2026, 7:37:47 PM
Released In
Not yet
Release Date
Not yet
45-x-y
Merged
PR Number
#54124
Merged At
Sep 19, 2026, 7:43:42 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