2323
2424jobs :
2525 build :
26- name : 🏗️ Build E2E ipa
27- runs-on : macos-15
26+ name : 🏗️ Build E2E ipa (Xcode ${{ matrix.config.xcode }})
27+ runs-on : macos-${{ matrix.config.macos }}
2828 timeout-minutes : 60
2929 env :
3030 WORKING_DIRECTORY : example
3131 concurrency :
3232 group : ios-e2e-${{ github.ref }}
3333 cancel-in-progress : true
34+ strategy :
35+ matrix :
36+ config : [{ xcode: "16.4", macos: 15 }, { xcode: "26.0", macos: 26 }]
3437 steps :
3538 - uses : actions/checkout@v4
3639 - uses : actions/setup-node@v4
3942 cache : " yarn"
4043 - uses : maxim-lobanov/setup-xcode@v1
4144 with :
42- xcode-version : " 16.4 "
45+ xcode-version : ${{ matrix.config.xcode }}
4346 - name : Get Xcode version
4447 run : xcodebuild -version
4548 - name : Save yarn cache directory path
9093 run : yarn build-example:ios
9194 - uses : actions/upload-artifact@v4
9295 with :
93- name : ios-e2e-ipa
96+ name : ios-e2e-ipa-xcode${{ matrix.config.xcode }}
9497 path : example/ios/build/Build/Products/Release-iphonesimulator/KeyboardControllerExample.app/**
9598 e2e-test :
9699 name : ⚙️ Automated test cases (iOS-${{ matrix.devices.ios }})
@@ -110,14 +113,15 @@ jobs:
110113 { ios: 17, xcode: "16.4", macos: 15, runtime: "17.5" },
111114 { ios: 18, xcode: "16.4", macos: 15 },
112115 { ios: 26, xcode: "16.4", macos: 26 },
116+ { ios: 26, xcode: "26.0", macos: 26 },
113117 ]
114118 needs : build
115119 steps :
116120 - uses : actions/checkout@v4
117121 - name : Download a single artifact
118122 uses : actions/download-artifact@v4
119123 with :
120- name : ios-e2e-ipa
124+ name : ios-e2e-ipa-xcode${{ matrix.devices.xcode }}
121125 path : example/ios/build/Build/Products/Release-iphonesimulator/KeyboardControllerExample.app/
122126 - uses : maxim-lobanov/setup-xcode@v1
123127 with :
0 commit comments