@@ -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