Skip to content

Commit 2ac0cb3

Browse files
committed
Fix: pin macOS CI to latest-stable Xcode for Swift 6.1+ (trailing-comma support)
1 parent b77929c commit 2ac0cb3

1 file changed

Lines changed: 12 additions & 9 deletions

File tree

.github/workflows/release.yml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,20 +57,23 @@ jobs:
5757

5858
build-macos:
5959
name: Build macOS arm64
60-
# macos-15 = arm64 + Xcode 16 (Swift 6.0+). copad-macos/Package.swift
61-
# declares swift-tools-version 6.0, so macos-14 (Swift 5.10) errors out
62-
# at the package manifest parse step.
60+
# macos-15 = arm64 + Xcode 16. copad-macos/Package.swift declares
61+
# swift-tools-version 6.0 (so macos-14's Swift 5.10 errors at manifest
62+
# parse), and the Swift sources use trailing commas in parameter lists
63+
# (SE-0439, Swift 6.1+) — so the default Xcode on macos-15 (Swift 6.0)
64+
# ALSO fails. The setup-xcode action below picks the newest stable
65+
# Xcode installed on the runner image, which is currently 16.3+ /
66+
# Swift 6.1+. Keep this even if the runner image upgrades — it makes
67+
# the toolchain selection explicit instead of relying on whichever
68+
# Xcode happens to be at /Applications/Xcode.app.
6369
runs-on: macos-15
6470
steps:
6571
- uses: actions/checkout@v4
6672

67-
# Pin to the latest stable Xcode on the runner image. macos-15 ships
68-
# multiple Xcode versions; without an explicit select, `swift build`
69-
# picks whichever is symlinked at /Applications/Xcode.app — which can
70-
# drift when GitHub rotates runner images.
7173
- name: Select latest stable Xcode
72-
run: sudo xcode-select -s /Applications/Xcode.app
73-
continue-on-error: true
74+
uses: maxim-lobanov/setup-xcode@v1
75+
with:
76+
xcode-version: latest-stable
7477

7578
- uses: dtolnay/rust-toolchain@stable
7679

0 commit comments

Comments
 (0)