@@ -29,45 +29,47 @@ jobs:
2929 - " 6.0"
3030 - " 6.1"
3131 - " 6.2"
32+ include :
33+ - swift : " 6.0"
34+ xcode : " 16.2"
35+ - swift : " 6.1"
36+ xcode : " 16.4"
37+ - swift : " 6.2"
38+ xcode : " 26.0"
3239 steps :
3340 - name : Git Checkout
3441 uses : actions/checkout@v4
3542
43+ - name : Load Simulator Lookup Tables
44+ run : |
45+ echo "SIMULATORS_JSON=$(jq -c . .github/workflows/xcode-simulators.json)" >> $GITHUB_ENV
46+
3647 - name : Disable Macro Fingerprint Validation
3748 run : |
3849 defaults write com.apple.dt.Xcode IDESkipMacroFingerprintValidation -bool YES
3950 defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES
4051
41- - if : matrix.swift == '6.2' && matrix. platform != 'mac-catalyst'
42- name : Select Xcode version
52+ - if : matrix.platform != 'mac-catalyst'
53+ name : Download Required Runtimes
4354 run : |
44- sudo xcodes select 26.0
45- xcodebuild -downloadPlatform ${{ matrix.runtime }}
55+ sudo xcodes select ${{ matrix.xcode }}
56+ xcodebuild -downloadPlatform ${{ matrix.platform }}
4657
4758 - if : matrix.platform != 'mac-catalyst'
4859 name : Create Simulator
4960 run : |
50- sudo xcodes select 26.0
61+ sudo xcodes select ${{ matrix.xcode }}
5162 xcrun simctl delete all
52- if [[ "${{ matrix.swift }}" == "6.2" ]]; then
53- if [[ "${{ matrix.platform }}" == "iOS" ]]; then
54- xcrun simctl create "CI iPhone 16 Pro" "com.apple.CoreSimulator.SimDeviceType.iPhone-16-Pro" "com.apple.CoreSimulator.SimRuntime.iOS-26-0"
55- else
56- xcrun simctl create "CI Apple TV 4K (3rd generation)" "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-3rd-generation-4K" "com.apple.CoreSimulator.SimRuntime.tvOS-26-0"
57- fi
58- else
59- if [[ "${{ matrix.platform }}" == "iOS" ]]; then
60- xcrun simctl create "CI iPhone 15 Pro" "com.apple.CoreSimulator.SimDeviceType.iPhone-15-Pro" "com.apple.CoreSimulator.SimRuntime.iOS-18-6"
61- else
62- xcrun simctl create "CI Apple TV 4K (3rd generation)" "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-3rd-generation-4K" "com.apple.CoreSimulator.SimRuntime.tvOS-18-5"
63- fi
64- fi
63+ xcrun simctl create \
64+ "${{ fromJSON(env.SIMULATORS_JSON)[matrix.platform].name }}" \
65+ "${{ fromJSON(env.SIMULATORS_JSON)[matrix.platform].type }}" \
66+ "${{ fromJSON(env.SIMULATORS_JSON)[matrix.platform].runtime }}"
6567
6668 - name : Test Library
6769 uses : mxcl/xcodebuild@v3
6870 with :
6971 platform : ${{ matrix.platform }}
70- swift : ~ ${{ matrix.swift }}
72+ xcode : ${{ matrix.xcode }}
7173 action : test
7274 workspace : SwiftUINavigationTransitions.xcworkspace
7375 scheme : SwiftUINavigationTransitions
7678 uses : mxcl/xcodebuild@v3
7779 with :
7880 platform : ${{ matrix.platform }}
79- swift : ~ ${{ matrix.swift }}
81+ xcode : ${{ matrix.xcode }}
8082 action : build
8183 workspace : SwiftUINavigationTransitions.xcworkspace
8284 scheme : Demo
0 commit comments