Skip to content

Build iOS Fabric Example #17

Build iOS Fabric Example

Build iOS Fabric Example #17

name: Build iOS Fabric Example
on:
workflow_dispatch:
inputs:
variant:
type: choice
description: Variant to run
options:
- static-library
- static-framework
- dynamic-framework
# Only run on the latest workflow run
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-example:
runs-on: macos-13
strategy:
matrix:
xcode-version: [14.3.1]
steps:
- name: List all available XCode versions
run: ls -n /Applications/ | grep Xcode*
- name: Switch XCode Version
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode-version }}.app/Contents/Developer
- name: Cache cocoapods
uses: actions/cache@v3
with:
path: apps/fabric/ios/Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-
- name: Checkout Repository
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Enable corepack
run: corepack enable
- name: Install CocoaPods
run: sudo gem install cocoapods
- name: Install Dependencies
run: yarn install --immutable
- name: Run Metro in the background
run: yarn workspace fabric-example start </dev/null &>/dev/null &
- name: Build Fabric iOS Example
run: |
if [ "${{ github.event.inputs.variant }}" = "static-framework" ]; then
yarn fabric:ios-static-framework
elif [ "${{ github.event.inputs.variant }}" = "dynamic-framework" ]; then
yarn fabric:ios-dynamic-framework
else
yarn fabric:ios
fi