name: Android Build on: push: branches: [main] pull_request: workflow_dispatch: jobs: build: runs-on: ubuntu-latest timeout-minutes: 20 steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: '18' cache: 'npm' - name: Install dependencies run: npm install - name: Set up JDK uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: '17' - name: Build Debug APK run: | cd android ./gradlew assembleDebug env: ANDROID_HOME: ${{ secrets.ANDROID_HOME }} ANDROID_SDK_ROOT: ${{ secrets.ANDROID_SDK_ROOT }} - name: Build Release APK run: | cd android ./gradlew assembleRelease env: ANDROID_HOME: ${{ secrets.ANDROID_HOME }} ANDROID_SDK_ROOT: ${{ secrets.ANDROID_SDK_ROOT }} - name: Upload Debug APK uses: actions/upload-artifact@v4 with: name: app-debug.apk path: android/app/build/outputs/apk/debug/app-debug.apk - name: Upload Release APK uses: actions/upload-artifact@v4 with: name: app-release.apk path: android/app/build/outputs/apk/release/app-release-unsigned.apk