1010 workflow_dispatch :
1111
1212concurrency :
13- group : ${{ github.head_ref || github.run_id }}
13+ group : " ${{ github.workflow }}-${{ github. head_ref || github.run_id }}-${{ github.job }} "
1414 cancel-in-progress : true
1515
1616jobs :
1717 build_and_test :
18- runs-on : macos-14
18+ name : Build and Test
19+ runs-on : macos-15
20+ strategy :
21+ matrix :
22+ xcode : ['16.4']
23+ config : ['Debug', 'Release']
1924
2025 env :
2126 SCHEME : KarrotListKit
22- DESTINATION : platform=iOS Simulator,name=iPhone 15 ,OS=17.2
27+ DESTINATION : platform=iOS Simulator,name=iPhone 16 Pro ,OS=18.5
2328
2429 steps :
2530 - uses : actions/checkout@v4
2631
27- - name : Setup Xcode Version
28- run : sudo xcode-select --switch /Applications/Xcode_15.2 .app
32+ - name : Setup Xcode ${{ matrix.xcode }}
33+ run : sudo xcode-select --switch /Applications/Xcode_${{ matrix.xcode }} .app
2934 shell : bash
3035
36+ - name : Set IDEPackageEnablePrebuilts
37+ run : |
38+ defaults write com.apple.dt.Xcode IDEPackageEnablePrebuilts YES
39+
3140 - name : Run `build-for-testing`
3241 run : |
3342 set -o pipefail && xcodebuild build-for-testing \
3443 -scheme "$SCHEME" \
3544 -destination "$DESTINATION" \
36- -configuration Debug \
45+ -configuration ${{ matrix.config }} \
3746 | xcbeautify --renderer github-actions
3847
3948 - name : Run `test-without-building`
4049 run : |
4150 set -o pipefail && xcodebuild test-without-building \
4251 -scheme "$SCHEME" \
4352 -destination "$DESTINATION" \
44- -configuration Debug \
53+ -configuration ${{ matrix.config }} \
4554 | xcbeautify --renderer github-actions
55+
56+ check-macro-compatibility :
57+ name : Check Macro Compatibility
58+ runs-on : macos-latest
59+ steps :
60+ - name : Checkout repository
61+ uses : actions/checkout@v4
62+
63+ - name : Run Swift Macro Compatibility Check
64+ uses : Matejkob/swift-macro-compatibility-check@v1
0 commit comments