-
Notifications
You must be signed in to change notification settings - Fork 75
74 lines (74 loc) · 2.25 KB
/
build-ios-llm-example.yml
File metadata and controls
74 lines (74 loc) · 2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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') }}
- 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: Install CocoaPods dependencies
working-directory: apps/llm/ios
run: |
pod install
- 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