From 7329e4052da99d874a86004e04868d1ff6406f35 Mon Sep 17 00:00:00 2001 From: Riccardo Cipolleschi Date: Mon, 28 Nov 2022 04:13:55 -0800 Subject: [PATCH] Store and Extract Xcodeproj in Sandcastle Summary: Normally, when we work with RNTester, we have to install the pods with the `pod install` command. The `pod install` commands has some side effects on the Xcode.project: for example, it installs some build script phases. In Sandcastle, we do not run that command to avoid network requests and to improve test reliability and reproducibility. This implies that, when we run the sandcastle jobs and/or we update the offline mirrors, we also have to upload the Xcode project associated with the specific JS engine. This Diff operates in two steps: 1. when updating the offline mirrors, it creates a tarball with the Xcodeproj and stores it in the proper offline mirror folder. 2. when testing, it replaces the current project with the one stored in the offline mirrors before extracting the pods. allow-large-files ## Changelog [Internal] - Keep a copy of the Xcodeproj in the offline mirrors Reviewed By: cortinico Differential Revision: D41541712 fbshipit-source-id: e6d9633f9245631ab56c8b9689707b537c30075c --- packages/rn-tester/Podfile.lock | 2 +- .../RNTesterPods.xcodeproj/project.pbxproj | 23 +++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/rn-tester/Podfile.lock b/packages/rn-tester/Podfile.lock index 7aa96f4ed7e..25fcfef4bce 100644 --- a/packages/rn-tester/Podfile.lock +++ b/packages/rn-tester/Podfile.lock @@ -954,7 +954,7 @@ SPEC CHECKSUMS: FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b - hermes-engine: e49758848596771dbb97c8f1b65e9d1ac353af69 + hermes-engine: 68253c27099051b3a663f34f27f82f12f12a77b3 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 diff --git a/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj b/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj index 3f1016eaf00..d76853a1a90 100644 --- a/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj +++ b/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj @@ -415,6 +415,7 @@ 5CF0FD27207FC6EC00C13D65 /* Start Metro */, 2FCDFB64B37634EC8EC3139B /* [CP] Embed Pods Frameworks */, A8DE6393E2BB72D8FBBF6C27 /* [CP] Copy Pods Resources */, + 9C4DBC25C644151BD596140F /* [RN] Copy Hermes Framework */, ); buildRules = ( ); @@ -716,6 +717,24 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests-resources.sh\"\n"; showEnvVarsInLog = 0; }; + 9C4DBC25C644151BD596140F /* [RN] Copy Hermes Framework */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "[RN] Copy Hermes Framework"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = ". ../../sdks/hermes-engine/utils/copy-hermes-xcode.sh"; + }; A8DE6393E2BB72D8FBBF6C27 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -915,7 +934,7 @@ ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -1000,7 +1019,7 @@ ENABLE_BITCODE = NO; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;