Android CI / Build and Test (push) Failing after 13m3s
iOS CI / Build and Test SwiftUI App (push) Canceled after 0s
Build Unsigned iOS and macOS Apps / Build Unsigned iOS IPA (push) Canceled after 0s
Build Unsigned iOS and macOS Apps / Build macOS ZIP (push) Canceled after 0s
56 lines
1.5 KiB
YAML
56 lines
1.5 KiB
YAML
name: Android CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- develop
|
|
- issue-*
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- develop
|
|
|
|
jobs:
|
|
build:
|
|
name: Build and Test
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
# Step 1: Check out the repository code
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
|
|
# Step 2: Set up JDK 17 with Gradle Caching
|
|
- name: Set up JDK 17
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: "zulu"
|
|
java-version: "17"
|
|
cache: "gradle"
|
|
|
|
# Step 3: Grant execute permission to Gradle Wrapper
|
|
- name: Grant Execute Permission for Gradlew
|
|
run: cd BalanceAndroid && chmod +x ./gradlew
|
|
|
|
# Step 4: Jetpack Compose Compiler & Lint Check
|
|
# Verifies Compose layout rules and Kotlin formatting
|
|
- name: Run Lint and Code Quality
|
|
run: cd BalanceAndroid && ./gradlew lintDebug
|
|
|
|
# Step 5: Run Unit Tests & Verify Room Schema
|
|
# Runs localized Room migrations and DAO tests that do not require an emulator
|
|
- name: Run Unit Tests
|
|
run: cd BalanceAndroid && ./gradlew testDebugUnitTest
|
|
|
|
# Step 6: Assemble Debug APK (Targeting Android 8.0 / API 26+)
|
|
- name: Build Debug APK
|
|
run: cd BalanceAndroid && ./gradlew assembleDebug
|
|
|
|
# Step 7: Upload the generated APK
|
|
- name: Upload Debug APK
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: android-compose-room-debug-apk
|
|
path: BalanceAndroid/app/build/outputs/apk/debug/app-debug.apk
|