Skip to content

Commit f2fd9d8

Browse files
committed
ci: add separate build pipelines for LMFS and ODRD sample apps
1 parent b3f26ee commit f2fd9d8

File tree

1 file changed

+125
-10
lines changed

1 file changed

+125
-10
lines changed

.github/workflows/ci.yml

Lines changed: 125 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ jobs:
113113
- name: Build package
114114
run: yarn prepare
115115

116-
build-android:
116+
build-android-lmfs:
117117
runs-on: ubuntu-latest
118118
timeout-minutes: 30
119119
env:
@@ -135,7 +135,7 @@ jobs:
135135
136136
- name: Check turborepo cache for Android
137137
run: |
138-
TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:android').cache.status")
138+
TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:android:lmfs --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:android:lmfs').cache.status")
139139
140140
if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
141141
echo "turbo_cache_hit=1" >> $GITHUB_ENV
@@ -161,18 +161,133 @@ jobs:
161161
path: |
162162
~/.gradle/wrapper
163163
~/.gradle/caches
164-
key: ${{ runner.os }}-gradle-${{ hashFiles('example/android/gradle/wrapper/gradle-wrapper.properties') }}
164+
key: ${{ runner.os }}-gradle-${{ hashFiles('example/LMFS/android/gradle/wrapper/gradle-wrapper.properties') }}
165165
restore-keys: |
166166
${{ runner.os }}-gradle-
167167
168168
- name: Build example for Android
169169
env:
170170
JAVA_OPTS: '-Xmx4g -XX:MaxMetaspaceSize=1g'
171171
run: |
172-
echo "MAPS_API_KEY=FAKE_API_KEY" > example/android/local.properties
173-
yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}"
172+
echo "MAPS_API_KEY=FAKE_API_KEY" > example/LMFS/android/local.properties
173+
yarn turbo run build:android:lmfs --cache-dir="${{ env.TURBO_CACHE_DIR }}"
174174
175-
build-ios:
175+
build-android-odrd:
176+
runs-on: ubuntu-latest
177+
timeout-minutes: 30
178+
env:
179+
TURBO_CACHE_DIR: .turbo/android
180+
steps:
181+
- name: Checkout
182+
uses: actions/checkout@v4
183+
184+
- name: Setup
185+
uses: ./.github/actions/setup
186+
187+
- name: Cache turborepo for Android
188+
uses: actions/cache@v3
189+
with:
190+
path: ${{ env.TURBO_CACHE_DIR }}
191+
key: ${{ runner.os }}-turborepo-android-${{ hashFiles('yarn.lock') }}
192+
restore-keys: |
193+
${{ runner.os }}-turborepo-android-
194+
195+
- name: Check turborepo cache for Android
196+
run: |
197+
TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:android:odrd --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:android:odrd').cache.status")
198+
199+
if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
200+
echo "turbo_cache_hit=1" >> $GITHUB_ENV
201+
fi
202+
203+
- name: Install JDK
204+
if: env.turbo_cache_hit != 1
205+
uses: actions/setup-java@v3
206+
with:
207+
distribution: 'zulu'
208+
java-version: '17'
209+
java-package: 'jdk'
210+
211+
- name: Finalize Android SDK
212+
if: env.turbo_cache_hit != 1
213+
run: |
214+
/bin/bash -c "yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null"
215+
216+
- name: Cache Gradle
217+
if: env.turbo_cache_hit != 1
218+
uses: actions/cache@v3
219+
with:
220+
path: |
221+
~/.gradle/wrapper
222+
~/.gradle/caches
223+
key: ${{ runner.os }}-gradle-${{ hashFiles('example/ODRD/android/gradle/wrapper/gradle-wrapper.properties') }}
224+
restore-keys: |
225+
${{ runner.os }}-gradle-
226+
227+
- name: Build example for Android
228+
env:
229+
JAVA_OPTS: '-Xmx4g -XX:MaxMetaspaceSize=1g'
230+
run: |
231+
echo "MAPS_API_KEY=FAKE_API_KEY" > example/ODRD/android/local.properties
232+
yarn turbo run build:android:odrd --cache-dir="${{ env.TURBO_CACHE_DIR }}"
233+
234+
build-ios-lmfs:
235+
runs-on: macos-14
236+
timeout-minutes: 45
237+
env:
238+
TURBO_CACHE_DIR: .turbo/ios
239+
steps:
240+
- name: Checkout
241+
uses: actions/checkout@v4
242+
243+
- name: Setup
244+
uses: ./.github/actions/setup
245+
246+
- name: Cache turborepo for iOS
247+
uses: actions/cache@v3
248+
with:
249+
path: ${{ env.TURBO_CACHE_DIR }}
250+
key: ${{ runner.os }}-turborepo-ios-${{ hashFiles('yarn.lock') }}
251+
restore-keys: |
252+
${{ runner.os }}-turborepo-ios-
253+
254+
- name: Check turborepo cache for iOS
255+
run: |
256+
TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:ios:lmfs --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:ios:lmfs').cache.status")
257+
258+
if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
259+
echo "turbo_cache_hit=1" >> $GITHUB_ENV
260+
else
261+
echo "turbo_cache_hit=0" >> $GITHUB_ENV
262+
fi
263+
264+
- name: Cache cocoapods
265+
if: env.turbo_cache_hit != 1
266+
id: cocoapods-cache
267+
uses: actions/cache@v3
268+
with:
269+
path: |
270+
**/ios/Pods
271+
key: ${{ runner.os }}-cocoapods-${{ hashFiles('**/package.json') }}
272+
restore-keys: |
273+
${{ runner.os }}-cocoapods-
274+
275+
- name: Install cocoapods
276+
if: env.turbo_cache_hit != 1 || steps.cocoapods-cache.outputs.cache-hit != 'true'
277+
run: |
278+
cd example/LMFS/ios
279+
RCT_NEW_ARCH_ENABLED=0 pod install
280+
env:
281+
NO_FLIPPER: 1
282+
283+
- name: Copy Keys.plist file from sample
284+
run: cp example/LMFS/ios/SampleApp/Keys.plist.sample example/LMFS/ios/SampleApp/Keys.plist
285+
286+
- name: Build example for iOS
287+
run: |
288+
yarn turbo run build:ios:lmfs --cache-dir="${{ env.TURBO_CACHE_DIR }}"
289+
290+
build-ios-odrd:
176291
runs-on: macos-14
177292
timeout-minutes: 45
178293
env:
@@ -194,7 +309,7 @@ jobs:
194309
195310
- name: Check turborepo cache for iOS
196311
run: |
197-
TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:ios').cache.status")
312+
TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:ios:odrd --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:ios:odrd').cache.status")
198313
199314
if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
200315
echo "turbo_cache_hit=1" >> $GITHUB_ENV
@@ -216,14 +331,14 @@ jobs:
216331
- name: Install cocoapods
217332
if: env.turbo_cache_hit != 1 || steps.cocoapods-cache.outputs.cache-hit != 'true'
218333
run: |
219-
cd example/ios
334+
cd example/ODRD/ios
220335
RCT_NEW_ARCH_ENABLED=0 pod install
221336
env:
222337
NO_FLIPPER: 1
223338

224339
- name: Copy Keys.plist file from sample
225-
run: cp example/ios/SampleApp/Keys.plist.sample example/ios/SampleApp/Keys.plist
340+
run: cp example/ODRD/ios/SampleApp/Keys.plist.sample example/ODRD/ios/SampleApp/Keys.plist
226341

227342
- name: Build example for iOS
228343
run: |
229-
yarn turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}"
344+
yarn turbo run build:ios:odrd --cache-dir="${{ env.TURBO_CACHE_DIR }}"

0 commit comments

Comments
 (0)