Skip to content

Commit a4edbdb

Browse files
committed
WIP
1 parent ce84593 commit a4edbdb

File tree

2 files changed

+66
-20
lines changed

2 files changed

+66
-20
lines changed

.github/workflows/ci.yml

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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
@@ -76,7 +78,7 @@ jobs:
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
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"16.2": {
3+
"iOS": {
4+
"version": "18.2",
5+
"name": "iPhone 15 Pro",
6+
"type": "com.apple.CoreSimulator.SimDeviceType.iPhone-15-Pro",
7+
"runtime": "com.apple.CoreSimulator.SimRuntime.iOS-18-2"
8+
},
9+
"tvOS": {
10+
"version": "18.2",
11+
"name": "Apple TV 4K (3rd generation)",
12+
"type": "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-3rd-generation-4K",
13+
"runtime": "com.apple.CoreSimulator.SimRuntime.tvOS-18-2"
14+
}
15+
},
16+
"16.4": {
17+
"iOS": {
18+
"version": "18.5",
19+
"name": "iPhone 15 Pro",
20+
"type": "com.apple.CoreSimulator.SimDeviceType.iPhone-15-Pro",
21+
"runtime": "com.apple.CoreSimulator.SimRuntime.iOS-18-5"
22+
},
23+
"tvOS": {
24+
"version": "18.5",
25+
"name": "Apple TV 4K (3rd generation)",
26+
"type": "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-3rd-generation-4K",
27+
"runtime": "com.apple.CoreSimulator.SimRuntime.tvOS-18-5"
28+
}
29+
},
30+
"26.0": {
31+
"iOS": {
32+
"version": "26.0",
33+
"name": "iPhone 16 Pro",
34+
"type": "com.apple.CoreSimulator.SimDeviceType.iPhone-16-Pro",
35+
"runtime": "com.apple.CoreSimulator.SimRuntime.iOS-26-0"
36+
},
37+
"tvOS": {
38+
"version": "26.0",
39+
"name": "Apple TV 4K (3rd generation)",
40+
"type": "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-3rd-generation-4K",
41+
"runtime": "com.apple.CoreSimulator.SimRuntime.tvOS-26-0"
42+
}
43+
}
44+
}

0 commit comments

Comments
 (0)