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
This commit is contained in:
Riccardo Cipolleschi
2022-11-28 04:13:55 -08:00
committed by Facebook GitHub Bot
parent 10a8f186eb
commit 7329e4052d
2 changed files with 22 additions and 3 deletions
+1 -1
View File
@@ -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
@@ -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;