mirror of
https://github.com/tiennm99/loto.git
synced 2026-08-31 04:30:03 +00:00
GitHub only runs workflows from .github/workflows at the root, so the six workflows inherited from the two projects have to live there rather than under web/ and android/. Each one gets a path filter so web-only changes do not trigger Android builds, a working directory for its subproject, and a prefixed filename to keep the two sets apart. Gradle now sits at android/android, the Firebase action reads its config from web/ via entryPoint, and the Android checkout no longer needs submodules.
60 lines
1.3 KiB
YAML
60 lines
1.3 KiB
YAML
name: android / build debug
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- 'web/**'
|
|
- 'android/**'
|
|
- '.github/workflows/android-build-debug.yml'
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'web/**'
|
|
- 'android/**'
|
|
- '.github/workflows/android-build-debug.yml'
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
defaults:
|
|
run:
|
|
working-directory: android
|
|
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
|
|
- name: Set up Node 22
|
|
uses: actions/setup-node@v7
|
|
with:
|
|
node-version: '22'
|
|
|
|
- name: Set up JDK 21
|
|
uses: actions/setup-java@v5
|
|
with:
|
|
distribution: temurin
|
|
java-version: '21'
|
|
|
|
- name: Set up Gradle
|
|
uses: gradle/actions/setup-gradle@v6
|
|
with:
|
|
cache-provider: basic
|
|
|
|
- name: Install wrapper deps
|
|
run: npm ci
|
|
|
|
- name: Build web + sync into Android
|
|
run: npm run build
|
|
|
|
- name: Assemble debug APK
|
|
working-directory: android/android
|
|
run: ./gradlew :app:assembleDebug
|
|
|
|
- name: Upload debug APK
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: app-debug.apk
|
|
path: android/android/app/build/outputs/apk/debug/*.apk
|
|
archive: false
|
|
retention-days: 7
|