Repository navigation
ci: move the macOS legs off the retired macos-14 runner image - #733
Conversation
GitHub retired the macos-14 image on 2026-11-02 (changelog 2026-10-01). Since 2026-11-06 01:27 UTC every Desktop DMG build job is cancelled about a second after it is queued, with no runner, no steps and no log; the last green run was #1679 on 2026-11-05. Jobs on macos-15 (the iOS framework) run normally. - desktop-dmg.yml: the build job (every PR into main, every main push, v* tags) runs on macos-15. - railgun-dmg.yml: the RAILGUN PoC dmg (main pushes, tags, dispatch). - engine-library.yml: the darwin-aarch64 and darwin-x86-64 host-natives legs, which run on v* tags; left alone, the next release would have shipped no macOS engine natives. - Comments naming macos-14 in desktop-dmg.yml and ios-framework.yml and the runner note in docs/android-library.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jBQesEP3XMcXjRSnwz3ku
| # under Rosetta 2. BOTH jobs therefore run on macos-15 (Apple Silicon; macos-14 was | ||
| # retired on 2026-11-02 and its jobs are cancelled unstarted since): |
There was a problem hiding this comment.
Minor (comment accuracy, non-blocking): this wording dates the unstarted-cancellations from 2026-11-02, but by the PR description's own timeline runs stayed green through #1679 on 2026-11-05 and the cancellations began 2026-11-06 01:27 UTC — 2026-11-02 is the changelog's announced retirement date, not the day jobs stopped starting. A future reader tracing a similar runner retirement would otherwise be thrown by green macos-14 runs dated after "retired on 2026-11-02 … cancelled unstarted since". Consider something like: macos-14 was retired (changelog date 2026-11-02); its jobs are cancelled unstarted since 2026-11-06.
There was a problem hiding this comment.
Accepted (aaaad86). The comment was wrong in a line I wrote, so I fixed it now rather than leaving it for a later push. The Desktop DMG runs bear this out: #1679 passed on 2026-11-05 11:44 UTC, and #1680 on 2026-11-06 01:27 UTC was the first cancelled unstarted. The comment now reads "macos-14 was retired, changelog date 2026-11-02, and its jobs are cancelled unstarted since 2026-11-06".
Generated by Claude Code
Review on #733: 2026-11-02 is the changelog's retirement date; runs on macos-14 stayed green through 2026-11-05 and were first cancelled unstarted on 2026-11-06. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jBQesEP3XMcXjRSnwz3ku
ReviewVerdict: correct and complete — no defects found. This is a CI-only change (three What I verified:
Minor notes, neither blocking:
One caveat: this review sandbox could not fetch the cited changelog / runner-images issue to independently confirm the retirement, but the fix is safe either way — same architecture, and the cancellation evidence in the description is specific and consistent (green through run #1679 on 2026-11-05, cancelled-unstarted from 2026-11-06, |
|
Reply to the review summary, which has no thread of its own:
Accepted in aaaad86. Details are on its thread.
Accepted. The tool that opened the PR appended that footer to the body I sent. I have edited the description, and it now ends with the session link as its last line, which I confirmed by re-reading the PR. #732 got the same appended footer and is already merged.
Agreed. The Desktop DMG (arm64) run on aaaad86 is the direct proof that Generated by Claude Code |
Why
GitHub retired the
macos-14runner image; the changelog gives the retirement date as 2026-11-02 (changelog, actions/runner-images#13518).Since 2026-11-06 01:27 UTC, every Desktop DMG run (#1680–#1691) has been cancelled. In each one the
Build macOS .dmgjob is cancelled about a second after it is queued: no runner, no steps, no log. This covers PRs intomain(it is the cancelled check on #731) and every merge tomain: #723, #725, #728, #729, #730 and #732. The last green run was #1679 on 2026-11-05.It is not the workflow's
cancel-in-progressconcurrency group. The 01:38 run onmainwas cancelled with no newer run behind it for five hours. No workflow file changed in that window either. Jobs onmacos-15(the iOS framework) run normally.What changes
macos-14desktop-dmg.ymlbuildmain,mainpushes,v*tagsrailgun-dmg.ymlbuildmainpushes,v*tags, dispatchengine-library.ymlhost-nativesdarwin-aarch64 / darwin-x86-64v*tags, publication-path pushes tomain, dispatchAll three move to
macos-15. It is the same architecture (arm64), so nothing else in the jobs changes. The x64 legs still cross-compile with an explicitx86_64-apple-darwintarget, and the x64 dmg still uses an x86_64 JDK under Rosetta.The comments naming
macos-14indesktop-dmg.ymlandios-framework.ymlare updated, as is the runner note indocs/android-library.md.Review
The internal
/code-reviewat low effort found nothing. The automated review found no defects. Its one inline point, the date in thedesktop-dmg.ymlcomment, is fixed in aaaad86.Test plan
engine-library.ymlandrailgun-dmg.ymlhave nopull_requesttrigger. Both run on the merge tomain:engine-library.ymlbecause this PR edits it, which is one of itspaths, andrailgun-dmg.ymlon everymainpush. Both can also be dispatched on this branch beforehand from the Actions tab. A non-tag dispatch publishes nothing, since every publish step is gated onrefs/tags/v.https://claude.ai/code/session_013jBQesEP3XMcXjRSnwz3ku