@@ -41,7 +41,7 @@ references:
41
41
gems_cache_key : &gems_cache_key v1-gems-{{ checksum "Gemfile.lock" }}
42
42
gradle_cache_key : &gradle_cache_key v1-gradle-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}-{{ checksum "ReactAndroid/gradle.properties" }}
43
43
hermes_cache_key : &hermes_cache_key v1-hermes-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/hermes/hermesversion" }}
44
- hermes_sdk_cache_key : &hermes_sdk_cache_key v1-hermes-{{ .Environment.CIRCLE_JOB }}-{{ checksum "sdks/.hermesversion " }}
44
+ hermes_sdk_cache_key : &hermes_sdk_cache_key v1-hermes-{{ .Environment.CIRCLE_JOB }}-{{ checksum "sdks/.hermes-cache-key-file " }}
45
45
hermes_windows_cache_key : &hermes_windows_cache_key v1-hermes-{{ .Environment.CIRCLE_JOB }}-{{ checksum "tmp/hermes/hermesversion" }}
46
46
pods_cache_key : &pods_cache_key v6-pods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile.lock.bak" }}-{{ checksum "packages/rn-tester/Podfile" }}
47
47
windows_yarn_cache_key : &windows_yarn_cache_key v1-win-yarn-cache-{{ arch }}-{{ checksum "yarn.lock" }}
@@ -278,9 +278,9 @@ commands:
278
278
- run :
279
279
name : Setup Hermes cache
280
280
command : |
281
- HERMES_VERSION_FILE ="sdks/.hermesversion "
282
- if [ ! -f "$HERMES_VERSION_FILE " ]; then
283
- git ls-remote https://github.com/facebook/hermes main | cut -f 1 > $HERMES_VERSION_FILE
281
+ HERMES_CACHE_KEY_FILE ="sdks/.hermes-cache-key-file "
282
+ if [ ! -f "$HERMES_CACHE_KEY_FILE " ]; then
283
+ git ls-remote https://github.com/facebook/hermes main | cut -f 1 > $HERMES_CACHE_KEY_FILE
284
284
fi
285
285
- restore_cache :
286
286
keys :
@@ -939,7 +939,7 @@ jobs:
939
939
paths :
940
940
- linux64-bin
941
941
942
- build_hermesc_macos :
942
+ build_hermes_macos :
943
943
executor : reactnativeios
944
944
environment :
945
945
- HERMES_WS_DIR : *hermes_workspace_root
@@ -952,28 +952,46 @@ jobs:
952
952
name : Set up workspace
953
953
command : |
954
954
mkdir -p /tmp/hermes/osx-bin
955
- cp ~/react-native/sdks/hermes-engine/utils/* "$HERMES_WS_DIR/hermes/utils/."
955
+ mkdir -p ~/react-native/sdks/hermes
956
+ cp -r $HERMES_WS_DIR/hermes/* ~/react-native/sdks/hermes/.
956
957
- run :
957
958
name : Install dependencies
958
959
command : |
959
960
brew install cmake
960
961
- run :
961
- name : Build HermesC for macOS
962
+ name : Build the Hermes iOS frameworks
962
963
command : |
963
- if [ -f /tmp/hermes/osx-bin/hermesc ]; then
964
- echo 'Skipping; Clean "/tmp/hermes/osx-bin" to rebuild.'
965
- else
966
- cd "$HERMES_WS_DIR/hermes"
967
- ./utils/build-mac-framework.sh
968
- cp build_macosx/bin/hermesc /tmp/hermes/osx-bin/.
969
- fi
964
+ cd ~/react-native/sdks/hermes
965
+ ./utils/build-ios-framework.sh
966
+ - run :
967
+ name : Build the Hermes Mac frameworks
968
+ command : |
969
+ cd ~/react-native/sdks/hermes
970
+ ./utils/build-mac-framework.sh
971
+ cp build_macosx/bin/hermesc /tmp/hermes/osx-bin/.
972
+ - run :
973
+ name : Package the Hermes Apple frameworks
974
+ command : |
975
+ cd ~/react-native/sdks/hermes
976
+ . ./utils/build-apple-framework.sh
977
+
978
+ mkdir -p /tmp/cocoapods-package-root/destroot
979
+ mkdir -p /tmp/hermes/output
980
+ cp -R ./destroot /tmp/cocoapods-package-root
981
+ cp hermes-engine.podspec LICENSE /tmp/cocoapods-package-root
982
+
983
+ tar -C /tmp/cocoapods-package-root/ -czvf /tmp/hermes/output/hermes-runtime-darwin-v$(get_release_version).tar.gz .
970
984
- save_cache :
971
985
key : *hermes_cache_key
972
986
paths :
973
- - /tmp/hermes/osx-bin/
974
- - /tmp/hermes/hermes/destroot/
975
- - /tmp/hermes/hermes/build_host_hermesc/
976
- - /tmp/hermes/hermes/build_macosx/
987
+ - ~/react-native/hermes/build_host_hermesc
988
+ - ~/react-native/hermes/build_iphoneos
989
+ - ~/react-native/hermes/build_catalyst
990
+ - ~/react-native/hermes/build_iphonesimulator
991
+ - ~/react-native/hermes/build_macosx
992
+ - ~/react-native/hermes/destroot
993
+ - store_artifacts :
994
+ path : /tmp/hermes/output/
977
995
- store_artifacts :
978
996
path : /tmp/hermes/osx-bin/
979
997
- persist_to_workspace :
@@ -1225,7 +1243,7 @@ workflows:
1225
1243
- build_hermesc_linux :
1226
1244
requires :
1227
1245
- prepare_hermes_workspace
1228
- - build_hermesc_macos :
1246
+ - build_hermes_macos :
1229
1247
requires :
1230
1248
- prepare_hermes_workspace
1231
1249
- build_hermesc_windows :
@@ -1236,7 +1254,7 @@ workflows:
1236
1254
publish_npm_args : --dry-run
1237
1255
requires :
1238
1256
- build_hermesc_linux
1239
- - build_hermesc_macos
1257
+ - build_hermes_macos
1240
1258
- build_hermesc_windows
1241
1259
- test_js :
1242
1260
run_disabled_tests : false
@@ -1283,7 +1301,7 @@ workflows:
1283
1301
filters : *only_release_tags
1284
1302
requires :
1285
1303
- prepare_hermes_workspace
1286
- - build_hermesc_macos :
1304
+ - build_hermes_macos :
1287
1305
filters : *only_release_tags
1288
1306
requires :
1289
1307
- prepare_hermes_workspace
@@ -1299,7 +1317,7 @@ workflows:
1299
1317
filters : *only_release_tags
1300
1318
requires :
1301
1319
- build_hermesc_linux
1302
- - build_hermesc_macos
1320
+ - build_hermes_macos
1303
1321
- build_hermesc_windows
1304
1322
1305
1323
analysis :
@@ -1330,16 +1348,15 @@ workflows:
1330
1348
- build_hermesc_linux :
1331
1349
requires :
1332
1350
- prepare_hermes_workspace
1333
- - build_hermesc_macos :
1351
+ - build_hermes_macos :
1334
1352
requires :
1335
1353
- prepare_hermes_workspace
1336
1354
- build_hermesc_windows :
1337
1355
requires :
1338
1356
- prepare_hermes_workspace
1339
-
1340
1357
- build_npm_package :
1341
1358
publish_npm_args : --nightly
1342
1359
requires :
1343
1360
- build_hermesc_linux
1344
- - build_hermesc_macos
1361
+ - build_hermes_macos
1345
1362
- build_hermesc_windows
0 commit comments