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