Skip to content

ci: pin macOS test runners to macos-15#1929

Merged
MarshallOfSound merged 1 commit into
mainfrom
ci/pin-macos-15
Jul 3, 2026
Merged

ci: pin macOS test runners to macos-15#1929
MarshallOfSound merged 1 commit into
mainfrom
ci/pin-macos-15

Conversation

@claude

@claude claude Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Requested by Samuel Attard · Slack thread

  • I have read the contribution documentation for this project.
  • I agree to follow the code of conduct that this project follows, as appropriate.
  • The changes are appropriately documented (if applicable).
  • The changes have sufficient test coverage (if applicable).
  • The testsuite passes successfully on my local machine (if applicable).

Summarize your changes:

Before: macOS CI randomly fails packager > macOS > codesign > can sign the app with code has no resources but signature indicates they must be present whenever the job happens to land on GitHub's in-rollout macos-26-arm64 image behind the macos-latest label.

After: test jobs run on macos-15, where signing verifies and the test passes.

How: GitHub is mid-rollout of macos-latest to a new macos-26-arm64 (Tahoe) image, so image assignment is effectively roulette during the rollout and the failure presented as flake. It is actually deterministic per image — the image-to-result correlation is 5/5 across the observed runs, including the same commit failing and passing depending only on which image it drew:

Run Runner image can sign the app
main run 28133623467 (2026-06-24) macos-26-arm64 fail
#1926 run 28678966807 attempt 1 macos-26-arm64 fail
#1926 run 28678966807 attempt 2 macos-15-arm64 pass
#1926 run 28679236954 macos-15-arm64 pass

Pinning the test matrix to macos-15 restores deterministic CI. This is a stopgap: the real follow-up is @electron/osx-sign compatibility with macOS 26's codesign behavior, to be tracked separately.

🤖 Generated with Claude Code

https://claude.ai/code/session_01U2ozTKKr7cZU29WpC61F3j

GitHub is rolling out a new macos-26-arm64 image behind the
macos-latest label. On that image, `codesign --verify` rejects app
bundles signed by the test suite's self-signed certificate with
"code has no resources but signature indicates they must be present",
so the `packager > macOS > codesign > can sign the app` test fails
deterministically. The same commits pass on macos-15-arm64.

Pin the test matrix to macos-15 until @electron/osx-sign is compatible
with macOS 26's codesign behavior.
@MarshallOfSound MarshallOfSound marked this pull request as ready for review July 3, 2026 19:24
@MarshallOfSound MarshallOfSound requested a review from a team as a code owner July 3, 2026 19:24
@MarshallOfSound MarshallOfSound enabled auto-merge (squash) July 3, 2026 19:26
@MarshallOfSound MarshallOfSound merged commit 234c514 into main Jul 3, 2026
10 checks passed
@MarshallOfSound MarshallOfSound deleted the ci/pin-macos-15 branch July 3, 2026 19:26
@electron-npm-package-publisher

Copy link
Copy Markdown

🎉 This PR is included in version 20.0.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants