Skip to content

Backport #12468: CI: run macOS jobs on macos-15 until actions/runner-images#14940 is fixed - #12472

Merged
mergify[bot] merged 1 commit into
3.18from
mergify/bp/3.18/pr-12468
Oct 18, 2026
Merged

mergify[bot] merged 1 commit into
3.18from
mergify/bp/3.18/pr-12468

Conversation

@mergify

@mergify mergify Bot commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

Works around #12465; upstream bug: actions/runner-images#14940.

Every PR's macOS jobs have failed since about 2026-10-15 10:30 UTC, regardless of content; master was last green on 2026-10-14 and the merge queue runs the same workflows, so nothing can merge. The macos-26-arm64 image that macos-latest maps to (20261013.0424.1) ships the Command Line Tools 27.0 with the macOS 27 SDK, but keeps Xcode 26.6 as the default toolchain. GHC's link line passes -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib, so Xcode 26.6's ld reads the SDK 27 library stubs, which list a new arm64e.x1 architecture it cannot parse:

ld: multiple errors: tapi error: malformed file
/Library/Developer/CommandLineTools/SDKs/MacOSX27.0.sdk/usr/lib/libiconv.2.tbd:4:20: error:
     error: unknown architecture
                       arm64e.x1-macos, arm64e.x1-maccatalyst ]

This PR:

Notes for review:

  • Check names change from … macos-latest … to … macos-15 …. Only the post jobs are required checks, so branch protection and mergify are unaffected.
  • The release-build pin can be dropped from this PR if you'd rather handle releases separately; without it, the macOS aarch64 build in the nightly and release runs hits the same error.
  • The 3.18 branch has the same macos-latest lines, so this needs a backport.
  • An alternative that keeps macOS 26 is selecting the Command Line Tools as the active toolchain (sudo xcode-select -s /Library/Developer/CommandLineTools, suggested in Bootstrap job fails on macos-latest (GHC 9.12.4) due to linker error with SDK TBD files #12465), so that linker and SDK match again. Nobody has shown it working yet, and it would move all macOS CI onto a new linker at once, so the pin seems the safer unblock.

Template B: This PR does not modify behaviour or interface

  • Patches conform to the coding conventions.
  • Is this a PR that fixes CI? If so, it will need to be backported to older cabal release branches (ask maintainers for directions). — Yes: 3.18 has the same lines.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MWUpUBVSHTCWHGYNCwsjFL


This is an automatic backport of pull request #12468 done by [Mergify](https://mergify.com).

…ixed

The macos-26-arm64 image that macos-latest maps to (20261013.0424.1,
rolled out on 2026-10-15) ships the Command Line Tools 27.0 with the
macOS 27 SDK but keeps Xcode 26.6 as the default toolchain. GHC's link
line passes -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib,
so Xcode 26.6's ld reads the SDK 27 library stubs, whose new arm64e.x1
architecture it cannot parse, and every link fails with "tapi error:
malformed file". That takes down every macOS Validate job, the macOS
Bootstrap job and the aarch64 release build, on every GHC (#12465).

macos-15 has a consistent toolchain (Command Line Tools and Xcode 16.4).
Each pin carries a comment, so they can go back to macos-latest once the
image is fixed.

Also stop the Bootstrap matrix from failing fast: the macOS failure was
cancelling the four Linux jobs, so their results were lost too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MWUpUBVSHTCWHGYNCwsjFL
(cherry picked from commit 6535bbb)
@ulysses4ever ulysses4ever added the merge me Tell Mergify Bot to merge label Oct 18, 2026
@mergify mergify Bot added the queued label Oct 18, 2026
@mergify

mergify Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor Author

Merge Queue Status

  • ✅ Entered queue — 2026-10-18 19:51 UTC · Rule: default · triggered by rule Put backports in the rebase+merge queue
  • ✅ Checks skipped · PR is already up-to-date
  • ✅ Merged — 2026-10-18 20:01 UTC · at 160ac7c75b420933a785f1eb976af5c458183375 · merge

This pull request spent 10 minutes 30 seconds in the queue, including 3 seconds running CI.

Required conditions to merge
  • #review-threads-unresolved = 0 [🛡 GitHub branch protection]
  • github-review-approved [🛡 GitHub branch protection]
  • any of [🛡 GitHub branch protection]:
    • check-success = Doctest Cabal
    • check-neutral = Doctest Cabal
    • check-skipped = Doctest Cabal
  • any of [🛡 GitHub branch protection]:
    • check-success = Meta checks
    • check-neutral = Meta checks
    • check-skipped = Meta checks
  • any of [🛡 GitHub branch protection]:
    • check-success = Validate post job
    • check-neutral = Validate post job
    • check-skipped = Validate post job
  • any of [🛡 GitHub branch protection]:
    • check-success = docs/readthedocs.org:cabal
    • check-neutral = docs/readthedocs.org:cabal
    • check-skipped = docs/readthedocs.org:cabal
  • any of [🛡 GitHub branch protection]:
    • check-success = Bootstrap post job
    • check-neutral = Bootstrap post job
    • check-skipped = Bootstrap post job
  • any of [🛡 GitHub branch protection]:
    • check-success = whitespace
    • check-neutral = whitespace
    • check-skipped = whitespace
  • any of [🛡 GitHub branch protection]:
    • check-success = Check sdist post job
    • check-neutral = Check sdist post job
    • check-skipped = Check sdist post job
  • any of [🛡 GitHub branch protection]:
    • check-success = Changelogs
    • check-neutral = Changelogs
    • check-skipped = Changelogs

@mergify
mergify Bot merged commit 160ac7c into 3.18 Oct 18, 2026
59 checks passed
@mergify
mergify Bot deleted the mergify/bp/3.18/pr-12468 branch October 18, 2026 20:01
@mergify mergify Bot removed the queued label Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport merge me Tell Mergify Bot to merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants