mirror of
https://github.com/facebook/react-native.git
synced 2024-11-21 12:39:27 +00:00
Remove CCI leftovers (#45589)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/45589 I don't know why, but we had some CCI leftovers in the repo. This cleans them up! ## Changelog: [Internal] - Remove CCI leftovers Reviewed By: cortinico Differential Revision: D60048949 fbshipit-source-id: 08792abd53ba919a7afc0922d6f7c98cc9c4544e
This commit is contained in:
parent
014370d825
commit
48f6c3c485
@ -1,551 +0,0 @@
|
|||||||
# -------------------------
|
|
||||||
# COMMANDS
|
|
||||||
# -------------------------
|
|
||||||
commands:
|
|
||||||
# Checkout with cache, on machines that are using Docker the cache is ignored
|
|
||||||
checkout_code_with_cache:
|
|
||||||
parameters:
|
|
||||||
checkout_base_cache_key:
|
|
||||||
default: *checkout_cache_key
|
|
||||||
type: string
|
|
||||||
steps:
|
|
||||||
- restore_cache:
|
|
||||||
key: << parameters.checkout_base_cache_key >>-{{ arch }}-{{ .Branch }}-{{ .Revision }}
|
|
||||||
- checkout
|
|
||||||
- save_cache:
|
|
||||||
key: << parameters.checkout_base_cache_key >>-{{ arch }}-{{ .Branch }}-{{ .Revision }}
|
|
||||||
paths:
|
|
||||||
- ".git"
|
|
||||||
|
|
||||||
setup_ruby:
|
|
||||||
parameters:
|
|
||||||
ruby_version:
|
|
||||||
default: "2.6.10"
|
|
||||||
type: string
|
|
||||||
steps:
|
|
||||||
- restore_cache:
|
|
||||||
key: *gems_cache_key
|
|
||||||
- run:
|
|
||||||
name: Set Required Ruby
|
|
||||||
command: echo << parameters.ruby_version >> > /tmp/required_ruby
|
|
||||||
- restore_cache:
|
|
||||||
key: *rbenv_cache_key
|
|
||||||
- run:
|
|
||||||
name: Install the proper Ruby and run Bundle install
|
|
||||||
command: |
|
|
||||||
# Check if rbenv is installed. CircleCI is migrating to rbenv so we may not need to always install it.
|
|
||||||
|
|
||||||
if [[ -z "$(command -v rbenv)" ]]; then
|
|
||||||
brew install rbenv ruby-build
|
|
||||||
# Load and init rbenv
|
|
||||||
(rbenv init 2> /dev/null) || true
|
|
||||||
echo '' >> ~/.bash_profile
|
|
||||||
echo 'eval "$(rbenv init - bash)"' >> ~/.bash_profile
|
|
||||||
source ~/.bash_profile
|
|
||||||
else
|
|
||||||
echo "rbenv found; Skipping installation"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install the right version of ruby
|
|
||||||
if [[ -z "$(rbenv versions | grep << parameters.ruby_version >>)" ]]; then
|
|
||||||
# ensure that `ruby-build` can see all the available versions of Ruby
|
|
||||||
# some PRs received machines in a weird state, this should make the pipelines
|
|
||||||
# more robust.
|
|
||||||
brew update && brew upgrade ruby-build
|
|
||||||
rbenv install << parameters.ruby_version >>
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set ruby dependencies
|
|
||||||
rbenv global << parameters.ruby_version >>
|
|
||||||
if [[ << parameters.ruby_version >> == "2.6.10" ]]; then
|
|
||||||
# RubyGems 3.0.3.1 breaks Bundler
|
|
||||||
gem update --system 3.2.3
|
|
||||||
rbenv rehash
|
|
||||||
gem install bundler -v 2.4.22
|
|
||||||
else
|
|
||||||
rbenv rehash
|
|
||||||
gem install bundler
|
|
||||||
fi
|
|
||||||
bundle check || bundle install --path vendor/bundle --clean
|
|
||||||
- save_cache:
|
|
||||||
key: *rbenv_cache_key
|
|
||||||
paths:
|
|
||||||
- ~/.rbenv
|
|
||||||
- save_cache:
|
|
||||||
key: *gems_cache_key
|
|
||||||
paths:
|
|
||||||
- vendor/bundle
|
|
||||||
|
|
||||||
run_yarn:
|
|
||||||
parameters:
|
|
||||||
yarn_base_cache_key:
|
|
||||||
default: *yarn_cache_key
|
|
||||||
type: string
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- restore_cache:
|
|
||||||
keys:
|
|
||||||
- << parameters.yarn_base_cache_key >>-{{ arch }}-{{ checksum "yarn.lock" }}
|
|
||||||
- << parameters.yarn_base_cache_key >>-{{ arch }}
|
|
||||||
- << parameters.yarn_base_cache_key >>
|
|
||||||
- run:
|
|
||||||
name: "Yarn: Install Dependencies"
|
|
||||||
command: |
|
|
||||||
# Skip yarn install on metro bump commits as the package is not yet
|
|
||||||
# available on npm
|
|
||||||
if [[ $(echo "$GIT_COMMIT_DESC" | grep -c "Bump metro@") -eq 0 ]]; then
|
|
||||||
yarn install --non-interactive --cache-folder ~/.cache/yarn
|
|
||||||
fi
|
|
||||||
- save_cache:
|
|
||||||
paths:
|
|
||||||
- ~/.cache/yarn
|
|
||||||
key: << parameters.yarn_base_cache_key >>-{{ arch }}-{{ checksum "yarn.lock" }}
|
|
||||||
|
|
||||||
build_packages:
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Build packages
|
|
||||||
command: yarn build
|
|
||||||
|
|
||||||
brew_install:
|
|
||||||
parameters:
|
|
||||||
package:
|
|
||||||
description: Homebrew package to install
|
|
||||||
type: string
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: "Brew: Install << parameters.package >>"
|
|
||||||
command: brew install << parameters.package >>
|
|
||||||
|
|
||||||
with_rntester_pods_cache_span:
|
|
||||||
parameters:
|
|
||||||
steps:
|
|
||||||
type: steps
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Setup CocoaPods cache
|
|
||||||
# Copy packages/rn-tester/Podfile.lock since it can be changed by pod install
|
|
||||||
command: cp packages/rn-tester/Podfile.lock packages/rn-tester/Podfile.lock.bak
|
|
||||||
- restore_cache:
|
|
||||||
keys:
|
|
||||||
# The committed lockfile is generated using static libraries and USE_HERMES=1 so it could load an outdated cache if a change
|
|
||||||
# only affects the frameworks or hermes config. To help prevent this also cache based on the content of Podfile.
|
|
||||||
- *pods_cache_key
|
|
||||||
- steps: << parameters.steps >>
|
|
||||||
- save_cache:
|
|
||||||
paths:
|
|
||||||
- packages/rn-tester/Pods
|
|
||||||
key: *pods_cache_key
|
|
||||||
|
|
||||||
with_gradle_cache:
|
|
||||||
parameters:
|
|
||||||
steps:
|
|
||||||
type: steps
|
|
||||||
steps:
|
|
||||||
- restore_cache:
|
|
||||||
keys:
|
|
||||||
- *gradle_cache_key
|
|
||||||
- v3-gradle-{{ .Environment.CIRCLE_JOB }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}-
|
|
||||||
- v3-gradle-{{ .Environment.CIRCLE_JOB }}-
|
|
||||||
- v3-gradle-
|
|
||||||
- steps: << parameters.steps >>
|
|
||||||
- save_cache:
|
|
||||||
paths:
|
|
||||||
- ~/.gradle/caches
|
|
||||||
- ~/.gradle/wrapper
|
|
||||||
- packages/react-native/ReactAndroid/build/downloads
|
|
||||||
- packages/react-native/ReactAndroid/build/third-party-ndk
|
|
||||||
key: *gradle_cache_key
|
|
||||||
|
|
||||||
setup_hermes_version:
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Set up Hermes workspace and caching
|
|
||||||
command: |
|
|
||||||
mkdir -p "/tmp/hermes" "/tmp/hermes/download" "/tmp/hermes/hermes"
|
|
||||||
|
|
||||||
if [ -f "$HERMES_VERSION_FILE" ]; then
|
|
||||||
echo "Hermes Version file found! Using this version for the build:"
|
|
||||||
cat $HERMES_VERSION_FILE > /tmp/hermes/hermesversion
|
|
||||||
else
|
|
||||||
echo "Hermes Version file not found!!!"
|
|
||||||
echo "Using the last commit from main for the build:"
|
|
||||||
HERMES_TAG_SHA=$(git ls-remote https://github.com/facebook/hermes main | cut -f 1 | tr -d '[:space:]')
|
|
||||||
echo $HERMES_TAG_SHA > /tmp/hermes/hermesversion
|
|
||||||
fi
|
|
||||||
cat /tmp/hermes/hermesversion
|
|
||||||
|
|
||||||
get_react_native_version:
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Get React Native version
|
|
||||||
command: |
|
|
||||||
VERSION=$(cat packages/react-native/package.json | jq -r '.version')
|
|
||||||
# Save the react native version we are building in a file so we can use that file as part of the cache key.
|
|
||||||
echo "$VERSION" > /tmp/react-native-version
|
|
||||||
echo "React Native Version is $(cat /tmp/react-native-version)"
|
|
||||||
HERMES_VERSION="$(cat /tmp/hermes/hermesversion)"
|
|
||||||
echo "Hermes commit is $HERMES_VERSION"
|
|
||||||
|
|
||||||
get_react_native_version_windows:
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Get React Native version on Windows
|
|
||||||
command: |
|
|
||||||
$VERSION=cat packages/react-native/package.json | jq -r '.version'
|
|
||||||
# Save the react native version we are building in a file so we can use that file as part of the cache key.
|
|
||||||
echo "$VERSION" > /tmp/react-native-version
|
|
||||||
echo "React Native Version is $(cat /tmp/react-native-version)"
|
|
||||||
$HERMES_VERSION=cat C:\Users\circleci\project\tmp\hermes\hermesversion
|
|
||||||
echo "Hermes commit is $HERMES_VERSION"
|
|
||||||
|
|
||||||
with_hermes_tarball_cache_span:
|
|
||||||
parameters:
|
|
||||||
steps:
|
|
||||||
type: steps
|
|
||||||
set_tarball_path:
|
|
||||||
type: boolean
|
|
||||||
default: False
|
|
||||||
flavor:
|
|
||||||
default: "Debug"
|
|
||||||
description: The Hermes build type. Must be one of "Debug", "Release".
|
|
||||||
type: enum
|
|
||||||
enum: ["Debug", "Release"]
|
|
||||||
hermes_tarball_artifacts_dir:
|
|
||||||
type: string
|
|
||||||
default: *hermes_tarball_artifacts_dir
|
|
||||||
steps:
|
|
||||||
- get_react_native_version
|
|
||||||
- when:
|
|
||||||
condition:
|
|
||||||
equal: [ << parameters.flavor >>, "Debug"]
|
|
||||||
steps:
|
|
||||||
- restore_cache:
|
|
||||||
keys:
|
|
||||||
- *hermes_tarball_debug_cache_key
|
|
||||||
- when:
|
|
||||||
condition:
|
|
||||||
equal: [ << parameters.flavor >>, "Release"]
|
|
||||||
steps:
|
|
||||||
- restore_cache:
|
|
||||||
keys:
|
|
||||||
- *hermes_tarball_release_cache_key
|
|
||||||
- when:
|
|
||||||
condition: << parameters.set_tarball_path >>
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Set HERMES_ENGINE_TARBALL_PATH envvar if Hermes tarball is present
|
|
||||||
command: |
|
|
||||||
HERMES_TARBALL_ARTIFACTS_DIR=<< parameters.hermes_tarball_artifacts_dir >>
|
|
||||||
if [ ! -d $HERMES_TARBALL_ARTIFACTS_DIR ]; then
|
|
||||||
echo "Hermes tarball artifacts dir not present ($HERMES_TARBALL_ARTIFACTS_DIR). Build Hermes from source."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d ~/react-native ]; then
|
|
||||||
echo "No React Native checkout found. Run `checkout` first."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
TARBALL_FILENAME=$(node ~/react-native/packages/react-native/scripts/hermes/get-tarball-name.js --buildType "<< parameters.flavor >>")
|
|
||||||
TARBALL_PATH=$HERMES_TARBALL_ARTIFACTS_DIR/$TARBALL_FILENAME
|
|
||||||
|
|
||||||
echo "Looking for $TARBALL_FILENAME in $HERMES_TARBALL_ARTIFACTS_DIR"
|
|
||||||
echo "$TARBALL_PATH"
|
|
||||||
|
|
||||||
if [ ! -f $TARBALL_PATH ]; then
|
|
||||||
echo "Hermes tarball not present ($TARBALL_PATH). Build Hermes from source."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Found Hermes tarball at $TARBALL_PATH"
|
|
||||||
echo "export HERMES_ENGINE_TARBALL_PATH=$TARBALL_PATH" >> $BASH_ENV
|
|
||||||
- run:
|
|
||||||
name: Print Hermes version
|
|
||||||
command: |
|
|
||||||
HERMES_TARBALL_ARTIFACTS_DIR=<< parameters.hermes_tarball_artifacts_dir >>
|
|
||||||
TARBALL_FILENAME=$(node ~/react-native/packages/react-native/scripts/hermes/get-tarball-name.js --buildType "<< parameters.flavor >>")
|
|
||||||
TARBALL_PATH=$HERMES_TARBALL_ARTIFACTS_DIR/$TARBALL_FILENAME
|
|
||||||
if [[ -e $TARBALL_PATH ]]; then
|
|
||||||
tar -xf $TARBALL_PATH
|
|
||||||
echo 'print(HermesInternal?.getRuntimeProperties?.()["OSS Release Version"])' > test.js
|
|
||||||
./destroot/bin/hermes test.js
|
|
||||||
rm test.js
|
|
||||||
rm -rf destroot
|
|
||||||
else
|
|
||||||
echo 'No Hermes tarball found.'
|
|
||||||
fi
|
|
||||||
- steps: << parameters.steps >>
|
|
||||||
- when:
|
|
||||||
condition:
|
|
||||||
equal: [ << parameters.flavor >>, "Debug"]
|
|
||||||
steps:
|
|
||||||
- save_cache:
|
|
||||||
key: *hermes_tarball_debug_cache_key
|
|
||||||
paths: *hermes_tarball_cache_paths
|
|
||||||
- when:
|
|
||||||
condition:
|
|
||||||
equal: [ << parameters.flavor >>, "Release"]
|
|
||||||
steps:
|
|
||||||
- save_cache:
|
|
||||||
key: *hermes_tarball_release_cache_key
|
|
||||||
paths: *hermes_tarball_cache_paths
|
|
||||||
|
|
||||||
store_hermes_apple_artifacts:
|
|
||||||
description: Stores the tarball and the osx binaries
|
|
||||||
parameters:
|
|
||||||
flavor:
|
|
||||||
default: "Debug"
|
|
||||||
description: The Hermes build type. Must be one of "Debug", "Release".
|
|
||||||
type: enum
|
|
||||||
enum: ["Debug", "Release"]
|
|
||||||
steps:
|
|
||||||
- when:
|
|
||||||
condition:
|
|
||||||
equal: [ << parameters.flavor >>, "Debug"]
|
|
||||||
steps:
|
|
||||||
- store_artifacts:
|
|
||||||
path: /tmp/hermes/hermes-runtime-darwin/hermes-ios-debug.tar.gz
|
|
||||||
- when:
|
|
||||||
condition:
|
|
||||||
equal: [ << parameters.flavor >>, "Release"]
|
|
||||||
steps:
|
|
||||||
- store_artifacts:
|
|
||||||
path: /tmp/hermes/hermes-runtime-darwin/hermes-ios-release.tar.gz
|
|
||||||
- store_artifacts:
|
|
||||||
path: /tmp/hermes/osx-bin/<< parameters.flavor >>/hermesc
|
|
||||||
- store_artifacts:
|
|
||||||
path: /tmp/hermes/dSYM/<< parameters.flavor >>/hermes.framework.dSYM
|
|
||||||
|
|
||||||
stop_job_if_apple_artifacts_are_there:
|
|
||||||
description: Stops the current job if there are already the required artifacts
|
|
||||||
parameters:
|
|
||||||
flavor:
|
|
||||||
default: "All"
|
|
||||||
description: The flavor of artifacts to check. Must be one of "Debug", "Release" or "All"
|
|
||||||
type: enum
|
|
||||||
enum: ["Debug", "Release", "All"]
|
|
||||||
steps:
|
|
||||||
- when:
|
|
||||||
condition:
|
|
||||||
equal: [ << parameters.flavor >>, "All"]
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: "Export files to be checked"
|
|
||||||
command: |
|
|
||||||
echo "/tmp/hermes/Release_tarball_present" > /tmp/hermes_files
|
|
||||||
echo "/tmp/hermes/Debug_tarball_present" >> /tmp/hermes_files
|
|
||||||
echo "/tmp/hermes/Release_osx_bin" >> /tmp/hermes_files
|
|
||||||
echo "/tmp/hermes/Debug_osx_bin" >> /tmp/hermes_files
|
|
||||||
echo "/tmp/hermes/Release_dSYM" >> /tmp/hermes_files
|
|
||||||
echo "/tmp/hermes/Debug_dSYM" >> /tmp/hermes_files
|
|
||||||
- when:
|
|
||||||
condition:
|
|
||||||
not:
|
|
||||||
equal: [ << parameters.flavor >>, "All"]
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: "Export files to be checked"
|
|
||||||
command: |
|
|
||||||
echo "/tmp/hermes/<< parameters.flavor >>_tarball_present" > /tmp/hermes_files
|
|
||||||
echo "/tmp/hermes/<< parameters.flavor >>_osx_bin" >> /tmp/hermes_files
|
|
||||||
echo "/tmp/hermes/<< parameters.flavor >>_dSYM" >> /tmp/hermes_files
|
|
||||||
- run:
|
|
||||||
name: Stop if files are present
|
|
||||||
command: |
|
|
||||||
files=($(cat /tmp/hermes_files))
|
|
||||||
# Initialize a flag indicating all files exist
|
|
||||||
|
|
||||||
all_files_exist=true
|
|
||||||
|
|
||||||
for file in "${files[@]}"; do
|
|
||||||
if [[ ! -f "$file" ]]; then
|
|
||||||
all_files_exist=false
|
|
||||||
echo "$file does not exist."
|
|
||||||
else
|
|
||||||
echo "$file exist."
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [[ "$all_files_exist" == true ]]; then
|
|
||||||
echo "Tarball, osx-bin and dSYM are present. Halting this job"
|
|
||||||
circleci-agent step halt
|
|
||||||
fi
|
|
||||||
|
|
||||||
check_if_tarball_is_present:
|
|
||||||
description: "Checks if the tarball of a specific Flavor is present and adds a marker file"
|
|
||||||
parameters:
|
|
||||||
flavor:
|
|
||||||
default: "Debug"
|
|
||||||
description: The flavor of artifacts to check. Must be one of "Debug" or "Release"
|
|
||||||
type: enum
|
|
||||||
enum: ["Debug", "Release"]
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Check if << parameters.flavor >> tarball is there
|
|
||||||
command: |
|
|
||||||
FLAVOR=debug
|
|
||||||
if [[ << parameters.flavor >> == "Release" ]]; then
|
|
||||||
FLAVOR=release
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -f "/tmp/hermes/hermes-runtime-darwin/hermes-ios-$FLAVOR.tar.gz" ]]; then
|
|
||||||
echo "[HERMES TARBALL] Found the << parameters.flavor >> tarball"
|
|
||||||
touch /tmp/hermes/<< parameters.flavor >>_tarball_present
|
|
||||||
fi
|
|
||||||
|
|
||||||
check_if_osx_bin_is_present:
|
|
||||||
description: "Checks if the osx bin of a specific Flavor is present and adds a marker file"
|
|
||||||
parameters:
|
|
||||||
flavor:
|
|
||||||
default: "Debug"
|
|
||||||
description: The flavor of artifacts to check. Must be one of "Debug" or "Release"
|
|
||||||
type: enum
|
|
||||||
enum: ["Debug", "Release"]
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Check if macosx binary is there
|
|
||||||
command: |
|
|
||||||
if [[ -d /tmp/hermes/osx-bin/<< parameters.flavor >> ]]; then
|
|
||||||
echo "[HERMES MACOSX BIN] Found the osx bin << parameters.flavor >>"
|
|
||||||
touch /tmp/hermes/<< parameters.flavor >>_osx_bin
|
|
||||||
fi
|
|
||||||
|
|
||||||
check_if_dsym_are_present:
|
|
||||||
description: "Checks if the dSYM a specific Flavor are present and adds a marker file"
|
|
||||||
parameters:
|
|
||||||
flavor:
|
|
||||||
default: "Debug"
|
|
||||||
description: The flavor of artifacts to check. Must be one of "Debug" or "Release"
|
|
||||||
type: enum
|
|
||||||
enum: ["Debug", "Release"]
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Check if dSYM are there
|
|
||||||
command: |
|
|
||||||
if [[ -d /tmp/hermes/dSYM/<< parameters.flavor >> ]]; then
|
|
||||||
echo "[HERMES dSYM] Found the dSYM << parameters.flavor >>"
|
|
||||||
touch /tmp/hermes/<< parameters.flavor >>_dSYM
|
|
||||||
fi
|
|
||||||
|
|
||||||
setup_hermes_workspace:
|
|
||||||
description: "Setup Hermes Workspace"
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Set up workspace
|
|
||||||
command: |
|
|
||||||
mkdir -p $HERMES_OSXBIN_ARTIFACTS_DIR ./packages/react-native/sdks/hermes
|
|
||||||
cp -r $HERMES_WS_DIR/hermes/* ./packages/react-native/sdks/hermes/.
|
|
||||||
cp -r ./packages/react-native/sdks/hermes-engine/utils ./packages/react-native/sdks/hermes/.
|
|
||||||
|
|
||||||
with_xcodebuild_cache:
|
|
||||||
description: "Add caching to iOS jobs to speed up builds"
|
|
||||||
parameters:
|
|
||||||
steps:
|
|
||||||
type: steps
|
|
||||||
podfile_lock_path:
|
|
||||||
type: string
|
|
||||||
default: packages/rn-tester/Podfile.lock
|
|
||||||
pods_build_folder:
|
|
||||||
type: string
|
|
||||||
default: packages/rn-tester/Pods
|
|
||||||
podfile_lock_cache_key:
|
|
||||||
type: string
|
|
||||||
default: *rntester_podfile_lock_cache_key
|
|
||||||
cocoapods_cache_key:
|
|
||||||
type: string
|
|
||||||
default: *cocoapods_cache_key
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Prepare Xcodebuild cache
|
|
||||||
command: |
|
|
||||||
WEEK=$(date +"%U")
|
|
||||||
YEAR=$(date +"%Y")
|
|
||||||
echo "$WEEK-$YEAR" > /tmp/week_year
|
|
||||||
- restore_cache:
|
|
||||||
key: << parameters.podfile_lock_cache_key >>
|
|
||||||
- restore_cache:
|
|
||||||
key: << parameters.cocoapods_cache_key >>
|
|
||||||
- steps: << parameters.steps >>
|
|
||||||
- save_cache:
|
|
||||||
key: << parameters.podfile_lock_cache_key >>
|
|
||||||
paths:
|
|
||||||
- << parameters.podfile_lock_path >>
|
|
||||||
- save_cache:
|
|
||||||
key: << parameters.cocoapods_cache_key >>
|
|
||||||
paths:
|
|
||||||
- << parameters.pods_build_folder >>
|
|
||||||
|
|
||||||
store_artifacts_if_needed:
|
|
||||||
description: "This step stores the artifacts only if we are on main or on a stable branch"
|
|
||||||
parameters:
|
|
||||||
path:
|
|
||||||
type: string
|
|
||||||
destination:
|
|
||||||
type: string
|
|
||||||
default: << parameters.path >>
|
|
||||||
when:
|
|
||||||
type: enum
|
|
||||||
enum: ['always', 'on_fail', 'on_success']
|
|
||||||
default: 'always'
|
|
||||||
steps:
|
|
||||||
- when:
|
|
||||||
condition:
|
|
||||||
or:
|
|
||||||
- equal: [ main, << pipeline.git.branch >> ]
|
|
||||||
- matches:
|
|
||||||
pattern: /0\.[0-9]+[\.[0-9]+]?-stable/
|
|
||||||
value: << pipeline.git.branch >>
|
|
||||||
steps:
|
|
||||||
- store_artifacts:
|
|
||||||
when: << parameters.when >>
|
|
||||||
path: << parameters.path >>
|
|
||||||
destination: << parameters.destination >>
|
|
||||||
|
|
||||||
prepare_ios_tests:
|
|
||||||
description: This command runs a set of commands to prepare iOS for running unit tests
|
|
||||||
steps:
|
|
||||||
- brew_install:
|
|
||||||
package: xcbeautify
|
|
||||||
- run:
|
|
||||||
name: Run Ruby Tests
|
|
||||||
command: |
|
|
||||||
cd packages/react-native/scripts
|
|
||||||
sh run_ruby_tests.sh
|
|
||||||
- run:
|
|
||||||
name: Boot iPhone Simulator
|
|
||||||
command: source scripts/.tests.env && xcrun simctl boot "$IOS_DEVICE" || true
|
|
||||||
|
|
||||||
- run:
|
|
||||||
name: Configure Environment Variables
|
|
||||||
command: |
|
|
||||||
echo 'export PATH=/usr/local/opt/node@18/bin:$PATH' >> $BASH_ENV
|
|
||||||
source $BASH_ENV
|
|
||||||
|
|
||||||
- run:
|
|
||||||
name: "Brew: Tap wix/brew"
|
|
||||||
command: brew tap wix/brew
|
|
||||||
- brew_install:
|
|
||||||
package: applesimutils watchman
|
|
||||||
- run:
|
|
||||||
name: Configure Watchman
|
|
||||||
command: echo "{}" > .watchmanconfig
|
|
||||||
|
|
||||||
run_ios_tests:
|
|
||||||
description: This command run iOS tests and collects results
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: "Run Tests: iOS Unit and Integration Tests"
|
|
||||||
command: yarn test-ios
|
|
||||||
- run:
|
|
||||||
name: Zip Derived data folder
|
|
||||||
when: always
|
|
||||||
command: |
|
|
||||||
echo "zipping tests results"
|
|
||||||
cd /Users/distiller/Library/Developer/Xcode
|
|
||||||
XCRESULT_PATH=$(find . -name '*.xcresult')
|
|
||||||
tar -zcvf xcresults.tar.gz $XCRESULT_PATH
|
|
||||||
- store_artifacts_if_needed:
|
|
||||||
path: /Users/distiller/Library/Developer/Xcode/xcresults.tar.gz
|
|
||||||
- store_test_results:
|
|
||||||
path: ./reports/junit
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user