Skip to content

Commit c17e42e

Browse files
committed
[RN][CI] Zip slices to preserve symlinks
1 parent 44158de commit c17e42e

File tree

1 file changed

+27
-11
lines changed

1 file changed

+27
-11
lines changed

.github/workflows/test-all.yml

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ jobs:
117117
uses: actions/cache/restore@v4.0.0
118118
with:
119119
path: ./packages/react-native/sdks/hermes/build_${{ matrix.slice }}_${{ matrix.flavor }}
120-
key: v4-hermes-apple-${{ needs.prepare_hermes_workspace.outputs.hermes-version }}-${{ needs.prepare_hermes_workspace.outputs.react-native-version }}-${{ hashfiles('packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh') }}-${{ matrix.slice }}-${{ matrix.flavor }}
120+
key: v5-hermes-apple-${{ needs.prepare_hermes_workspace.outputs.hermes-version }}-${{ needs.prepare_hermes_workspace.outputs.react-native-version }}-${{ hashfiles('packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh') }}-${{ matrix.slice }}-${{ matrix.flavor }}
121121
- name: Build the Hermes ${{ matrix.slice }} frameworks
122122
run: |
123123
cd ./packages/react-native/sdks/hermes || exit 1
@@ -171,17 +171,21 @@ jobs:
171171
echo "Please try again"
172172
exit 1
173173
fi
174+
- name: Compress slices to preserve Symlinks
175+
run: |
176+
cd ./packages/react-native/sdks/hermes
177+
tar -czv -f build_${{ matrix.slice }}_${{ matrix.flavor }}.tar.gz build_${{ matrix.slice }}_${{ matrix.flavor }}
174178
- name: Upload Artifact for Slice (${{ matrix.slice }}, ${{ matrix.flavor }}}
175179
uses: actions/upload-artifact@v4.3.1
176180
with:
177181
name: slice-${{ matrix.slice }}-${{ matrix.flavor }}
178-
path: ./packages/react-native/sdks/hermes/build_${{ matrix.slice }}_${{ matrix.flavor }}
182+
path: ./packages/react-native/sdks/hermes/build_${{ matrix.slice }}_${{ matrix.flavor }}.tar.gz
179183
- name: Save slice cache
180184
if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, '-stable') }} # To avoid that the cache explode.
181185
uses: actions/cache/save@v4.0.0
182186
with:
183187
path: ./packages/react-native/sdks/hermes/build_${{ matrix.slice }}_${{ matrix.flavor }}
184-
key: v4-hermes-apple-${{ needs.prepare_hermes_workspace.outputs.hermes-version }}-${{ needs.prepare_hermes_workspace.outputs.react-native-version }}-${{ hashfiles('packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh') }}-${{ matrix.slice }}-${{ matrix.flavor }}
188+
key: v5-hermes-apple-${{ needs.prepare_hermes_workspace.outputs.hermes-version }}-${{ needs.prepare_hermes_workspace.outputs.react-native-version }}-${{ hashfiles('packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh') }}-${{ matrix.slice }}-${{ matrix.flavor }}
185189

186190
build_hermes_macos:
187191
runs-on: macos-13
@@ -206,7 +210,7 @@ jobs:
206210
- name: Restore Cached Artifacts
207211
uses: actions/cache/restore@v4.0.0
208212
with:
209-
key: v3-hermes-artifacts-${{ matrix.flavor }}-${{ needs.prepare_hermes_workspace.outputs.hermes-version }}-${{ needs.prepare_hermes_workspace.outputs.react-native-version }}
213+
key: v4-hermes-artifacts-${{ matrix.flavor }}-${{ needs.prepare_hermes_workspace.outputs.hermes-version }}-${{ needs.prepare_hermes_workspace.outputs.react-native-version }}
210214
path: |
211215
/tmp/hermes/osx-bin/${{ matrix.flavor }}
212216
/tmp/hermes/dSYM/${{ matrix.flavor }}
@@ -235,38 +239,50 @@ jobs:
235239
if: ${{ steps.check_if_apple_artifacts_are_there.outputs.ARTIFACTS_EXIST != 'true' }}
236240
uses: actions/download-artifact@v4.1.3
237241
with:
238-
path: ./packages/react-native/sdks/hermes/build_macosx_${{ matrix.flavor }}
242+
path: ./packages/react-native/sdks/hermes/
239243
name: slice-macosx-${{ matrix.flavor }}
240244
- name: Slice cache iphoneos
241245
if: ${{ steps.check_if_apple_artifacts_are_there.outputs.ARTIFACTS_EXIST != 'true' }}
242246
uses: actions/download-artifact@v4.1.3
243247
with:
244-
path: ./packages/react-native/sdks/hermes/build_iphoneos_${{ matrix.flavor }}
248+
path: ./packages/react-native/sdks/hermes/
245249
name: slice-iphoneos-${{ matrix.flavor }}
246250
- name: Slice cache iphonesimulator
247251
if: ${{ steps.check_if_apple_artifacts_are_there.outputs.ARTIFACTS_EXIST != 'true' }}
248252
uses: actions/download-artifact@v4.1.3
249253
with:
250-
path: ./packages/react-native/sdks/hermes/build_iphonesimulator_${{ matrix.flavor }}
254+
path: ./packages/react-native/sdks/hermes/
251255
name: slice-iphonesimulator-${{ matrix.flavor }}
252256
- name: Slice cache catalyst
253257
if: ${{ steps.check_if_apple_artifacts_are_there.outputs.ARTIFACTS_EXIST != 'true' }}
254258
uses: actions/download-artifact@v4.1.3
255259
with:
256-
path: ./packages/react-native/sdks/hermes/build_catalyst_${{ matrix.flavor }}
260+
path: ./packages/react-native/sdks/hermes/
257261
name: slice-catalyst-${{ matrix.flavor }}
258262
- name: Slice cache xros
259263
if: ${{ steps.check_if_apple_artifacts_are_there.outputs.ARTIFACTS_EXIST != 'true' }}
260264
uses: actions/download-artifact@v4.1.3
261265
with:
262-
path: ./packages/react-native/sdks/hermes/build_xros_${{ matrix.flavor }}
266+
path: ./packages/react-native/sdks/hermes/
263267
name: slice-xros-${{ matrix.flavor }}
264268
- name: Slice cache xrsimulator
265269
if: ${{ steps.check_if_apple_artifacts_are_there.outputs.ARTIFACTS_EXIST != 'true' }}
266270
uses: actions/download-artifact@v4.1.3
267271
with:
268-
path: ./packages/react-native/sdks/hermes/build_xrsimulator_${{ matrix.flavor }}
272+
path: ./packages/react-native/sdks/hermes/
269273
name: slice-xrsimulator-${{ matrix.flavor }}
274+
- name: Unzip slices
275+
if: ${{ steps.check_if_apple_artifacts_are_there.outputs.ARTIFACTS_EXIST != 'true' }}
276+
run: |
277+
cd ./packages/react-native/sdks/hermes
278+
ls -l .
279+
280+
tar -xzv -f build_catalyst_${{ matrix.flavor }}.tar.gz
281+
tar -xzv -f build_iphoneos_${{ matrix.flavor }}.tar.gz
282+
tar -xzv -f build_iphonesimulator_${{ matrix.flavor }}.tar.gz
283+
tar -xzv -f build_macosx_${{ matrix.flavor }}.tar.gz
284+
tar -xzv -f build_xros_${{ matrix.flavor }}.tar.gz
285+
tar -xzv -f build_xrsimulator_${{ matrix.flavor }}.tar.gz
270286
- name: Move back build folders
271287
if: ${{ steps.check_if_apple_artifacts_are_there.outputs.ARTIFACTS_EXIST != 'true' }}
272288
run: |
@@ -366,7 +382,7 @@ jobs:
366382
uses: actions/cache/save@v4.0.0
367383
if: ${{ github.ref == 'refs/heads/main' || contains(github.ref, '-stable') }} # To avoid that the cache explode.
368384
with:
369-
key: v3-hermes-artifacts-${{ matrix.flavor }}-${{ needs.prepare_hermes_workspace.outputs.hermes-version }}-${{ needs.prepare_hermes_workspace.outputs.react-native-version }}
385+
key: v4-hermes-artifacts-${{ matrix.flavor }}-${{ needs.prepare_hermes_workspace.outputs.hermes-version }}-${{ needs.prepare_hermes_workspace.outputs.react-native-version }}
370386
path: |
371387
/tmp/hermes/osx-bin/${{ matrix.flavor }}
372388
/tmp/hermes/dSYM/${{ matrix.flavor }}

0 commit comments

Comments
 (0)