xref: /aosp_15_r20/external/executorch/.ci/scripts/setup-ios.sh (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Worker#!/bin/bash
2*523fa7a6SAndroid Build Coastguard Worker# Copyright (c) Meta Platforms, Inc. and affiliates.
3*523fa7a6SAndroid Build Coastguard Worker# All rights reserved.
4*523fa7a6SAndroid Build Coastguard Worker#
5*523fa7a6SAndroid Build Coastguard Worker# This source code is licensed under the BSD-style license found in the
6*523fa7a6SAndroid Build Coastguard Worker# LICENSE file in the root directory of this source tree.
7*523fa7a6SAndroid Build Coastguard Worker
8*523fa7a6SAndroid Build Coastguard Workerset -exu
9*523fa7a6SAndroid Build Coastguard Worker
10*523fa7a6SAndroid Build Coastguard Worker# This script follows the instructions from GitHub to install an Apple certificate
11*523fa7a6SAndroid Build Coastguard Worker# https://docs.github.com/en/actions/use-cases-and-examples/deploying/installing-an-apple-certificate-on-macos-runners-for-xcode-development
12*523fa7a6SAndroid Build Coastguard Worker
13*523fa7a6SAndroid Build Coastguard WorkerCERTIFICATE_PATH="${RUNNER_TEMP}"/build_certificate.p12
14*523fa7a6SAndroid Build Coastguard WorkerPP_PATH="${RUNNER_TEMP}"/build_pp.mobileprovision
15*523fa7a6SAndroid Build Coastguard WorkerKEYCHAIN_PATH="${RUNNER_TEMP}"/app-signing.keychain-db
16*523fa7a6SAndroid Build Coastguard Worker
17*523fa7a6SAndroid Build Coastguard Worker# Import certificate and provisioning profile from secrets
18*523fa7a6SAndroid Build Coastguard Workerecho -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
19*523fa7a6SAndroid Build Coastguard Workerecho -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH
20*523fa7a6SAndroid Build Coastguard Worker
21*523fa7a6SAndroid Build Coastguard Worker# Create a temporary keychain
22*523fa7a6SAndroid Build Coastguard Workersecurity create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
23*523fa7a6SAndroid Build Coastguard Workersecurity set-keychain-settings -lut 21600 $KEYCHAIN_PATH
24*523fa7a6SAndroid Build Coastguard Workersecurity unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
25*523fa7a6SAndroid Build Coastguard Worker
26*523fa7a6SAndroid Build Coastguard Worker# Import certificate to the keychain
27*523fa7a6SAndroid Build Coastguard Workersecurity import $CERTIFICATE_PATH -P "" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
28*523fa7a6SAndroid Build Coastguard Workersecurity set-key-partition-list -S apple-tool:,apple: -k "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
29*523fa7a6SAndroid Build Coastguard Workersecurity list-keychain -d user -s $KEYCHAIN_PATH
30*523fa7a6SAndroid Build Coastguard Worker
31*523fa7a6SAndroid Build Coastguard Worker# Apply provisioning profile
32*523fa7a6SAndroid Build Coastguard Workermkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
33*523fa7a6SAndroid Build Coastguard Workercp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles
34