Skip to content

chore: repository cleared (#616) #140

chore: repository cleared (#616)

chore: repository cleared (#616) #140

name: LLM Example app iOS build check
on:
push:
branches:
- main
paths:
- '.github/workflows/build-ios-llm-example.yml'
- '*.podspec'
- 'apps/llm/**'
- 'packages/react-native-executorch/**'
pull_request:
paths:
- '.github/workflows/build-ios-llm-example.yml'
- '*.podspec'
- 'apps/llm/**'
- 'packages/react-native-executorch/**'
workflow_dispatch:
jobs:
build:
if: github.repository == 'software-mansion/react-native-executorch'
runs-on: macos-latest
concurrency:
group: ios-${{ github.ref }}
cancel-in-progress: true
steps:
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Check out Git repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'yarn'
- name: Install root dependencies
run: yarn install --immutable
- name: Install Expo CLI
run: |
npm install -g @expo/cli
echo "$(npm prefix -g)/bin" >> $GITHUB_PATH
- name: Cache Expo prebuild
uses: actions/cache@v4
with:
path: apps/llm/ios
key: ${{ runner.os }}-expo-ios-${{ hashFiles('apps/llm/app.json', 'apps/llm/package.json') }}
restore-keys: |
${{ runner.os }}-expo-ios-
- name: Generate native iOS project
working-directory: apps/llm
run: |
if [ ! -d "ios" ]; then
npx expo prebuild --platform ios --no-install
else
echo "iOS project exists, skipping prebuild"
fi
- name: Cache CocoaPods
uses: actions/cache@v4
with:
path: |
apps/llm/ios/Pods
~/Library/Caches/CocoaPods
~/.cocoapods
key: ${{ runner.os }}-pods-${{ hashFiles('apps/llm/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-
- name: Install CocoaPods dependencies
working-directory: apps/llm/ios
run: |
if [ ! -d "Pods" ]; then
pod install
else
echo "Pods directory exists, skipping install"
fi
- name: Build app
working-directory: apps/llm/ios
run: |
set -o pipefail && xcodebuild \
-workspace llm.xcworkspace \
-scheme llm \
-sdk iphonesimulator \
-configuration Debug \
-destination 'platform=iOS Simulator,name=iPhone 16 Pro' \
build \
CODE_SIGNING_ALLOWED=NO \
-jobs $(sysctl -n hw.ncpu) \
COMPILER_INDEX_STORE_ENABLE=NO \
ONLY_ACTIVE_ARCH=YES | xcbeautify