77jobs :
88 prepare_workspace :
99 name : Prepare workspace
10- runs-on : macos-14
10+ runs-on : macos-15
1111 steps :
1212 - name : Checkout
1313 uses : actions/checkout@v4
1818 uses : actions/cache/restore@v4
1919 with :
2020 path : packages/react-native/third-party/
21- key : v2 -ios-dependencies-${{ hashfiles('scripts/releases/ios-prebuild/configuration.js') }}
21+ key : v3 -ios-dependencies-${{ hashfiles('scripts/releases/ios-prebuild/configuration.js') }}
2222 enableCrossOsArchive : true
2323 - name : Yarn Install
2424 if : steps.restore-ios-prebuilds.outputs.cache-hit != 'true'
@@ -40,13 +40,13 @@ jobs:
4040 uses : actions/cache/save@v4
4141 if : ${{ github.ref == 'refs/heads/main' }} # To avoid that the cache explode
4242 with :
43- key : v2 -ios-dependencies-${{ hashfiles('scripts/releases/ios-prebuild/configuration.js') }}
43+ key : v3 -ios-dependencies-${{ hashfiles('scripts/releases/ios-prebuild/configuration.js') }}
4444 enableCrossOsArchive : true
4545 path : packages/react-native/third-party/
4646
4747 build-apple-slices :
4848 name : Build Apple Slice
49- runs-on : macos-14
49+ runs-on : macos-15
5050 needs : [prepare_workspace]
5151 strategy :
5252 fail-fast : false
@@ -65,16 +65,17 @@ jobs:
6565 uses : actions/checkout@v4
6666 - name : Setup node.js
6767 uses : ./.github/actions/setup-node
68- - name : Setup xcode
69- uses : ./.github/actions/setup-xcode
70- with :
71- xcode-version : ' 16.1'
7268 - name : Restore slice folder
7369 id : restore-slice-folder
7470 uses : actions/cache/restore@v4
7571 with :
7672 path : packages/react-native/third-party/.build/Build/Products
77- key : v2-ios-dependencies-slice-folder-${{ matrix.slice }}-${{ matrix.flavor }}-${{ hashfiles('scripts/releases/ios-prebuild/configuration.js') }}
73+ key : v3-ios-dependencies-slice-folder-${{ matrix.slice }}-${{ matrix.flavor }}-${{ hashfiles('scripts/releases/ios-prebuild/configuration.js') }}
74+ - name : Setup xcode
75+ if : steps.restore-slice-folder.outputs.cache-hit != 'true'
76+ uses : ./.github/actions/setup-xcode
77+ with :
78+ platform : ${{ matrix.slice }}
7879 - name : Yarn Install
7980 if : steps.restore-slice-folder.outputs.cache-hit != 'true'
8081 uses : ./.github/actions/yarn-install
8586 name : ios-prebuilds-workspace
8687 path : packages/react-native/third-party/
8788 - name : Print third-party folder structure
89+ if : steps.restore-slice-folder.outputs.cache-hit != 'true'
8890 run : ls -lR packages/react-native/third-party
89- - name : Install VisionOS
90- if : ${{ steps.restore-slice-folder.outputs.cache-hit != 'true' && (matrix.slice == 'xros' || matrix.slice == 'xros-simulator') }}
91- run : |
92- # https://github.com/actions/runner-images/issues/10559
93- sudo xcodebuild -runFirstLaunch
94- sudo xcrun simctl list
95- sudo xcodebuild -downloadPlatform visionOS
96- sudo xcodebuild -runFirstLaunch
9791 - name : Build slice ${{ matrix.slice }} for ${{ matrix.flavor }}
9892 if : steps.restore-slice-folder.outputs.cache-hit != 'true'
9993 run : node scripts/releases/prepare-ios-prebuilds.js -b -p ${{ matrix.slice }} -r ${{ matrix.flavor }}
@@ -107,14 +101,14 @@ jobs:
107101 uses : actions/cache/save@v4
108102 if : ${{ github.ref == 'refs/heads/main' }} # To avoid that the cache explode
109103 with :
110- key : v2 -ios-dependencies-slice-folder-${{ matrix.slice }}-${{ matrix.flavor }}-${{ hashfiles('scripts/releases/ios-prebuild/configuration.js') }}
104+ key : v3 -ios-dependencies-slice-folder-${{ matrix.slice }}-${{ matrix.flavor }}-${{ hashfiles('scripts/releases/ios-prebuild/configuration.js') }}
111105 enableCrossOsArchive : true
112106 path : |
113107 packages/react-native/third-party/.build/Build/Products
114108
115109 create-xcframework :
116110 name : Prepare XCFramework
117- runs-on : macos-14
111+ runs-on : macos-15
118112 needs : [build-apple-slices]
119113 strategy :
120114 fail-fast : false
@@ -138,7 +132,7 @@ jobs:
138132 with :
139133 path : |
140134 packages/react-native/third-party/
141- key : v2 -ios-dependencies-xcframework-${{ matrix.flavor }}-${{ hashfiles('scripts/releases/ios-prebuild/configuration.js') }}
135+ key : v3 -ios-dependencies-xcframework-${{ matrix.flavor }}-${{ hashfiles('scripts/releases/ios-prebuild/configuration.js') }}
142136 # If cache hit, we already have our binary. We don't need to do anything.
143137 - name : Yarn Install
144138 if : steps.restore-xcframework.outputs.cache-hit != 'true'
@@ -200,4 +194,4 @@ jobs:
200194 path : |
201195 packages/react-native/third-party/ReactNativeDependencies${{ matrix.flavor }}.xcframework.tar.gz
202196 packages/react-native/third-party/ReactNativeDependencies${{ matrix.flavor }}.framework.dSYM.tar.gz
203- key : v2 -ios-dependencies-xcframework-${{ matrix.flavor }}-${{ hashfiles('scripts/releases/ios-prebuild/configuration.js') }}
197+ key : v3 -ios-dependencies-xcframework-${{ matrix.flavor }}-${{ hashfiles('scripts/releases/ios-prebuild/configuration.js') }}
0 commit comments