Files
edgeever/.github/workflows/mobile-build.yml
T

70 lines
1.6 KiB
YAML

name: Build EdgeEver Mobile
on:
workflow_dispatch:
push:
branches:
- main
paths:
- "apps/mobile/**"
- "packages/client/**"
- "packages/shared/**"
- "package.json"
- "bun.lock"
- ".github/workflows/mobile-build.yml"
permissions:
contents: read
concurrency:
group: edgeever-mobile-android-${{ github.ref }}
cancel-in-progress: true
jobs:
android-debug:
name: Build Android debug APK
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
- name: Setup Android SDK
uses: android-actions/setup-android@v3
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Check Expo dependencies
run: bun --cwd apps/mobile expo install --check
- name: Typecheck
run: bun run typecheck:mobile
- name: Generate Android native project
run: bunx expo prebuild --platform android --non-interactive --clean
working-directory: apps/mobile
- name: Build debug APK
run: ./gradlew assembleDebug
working-directory: apps/mobile/android
- name: Upload APK
uses: actions/upload-artifact@v4
with:
name: edgeever-android-debug-apk
path: apps/mobile/android/app/build/outputs/apk/debug/*.apk
if-no-files-found: error