name: Build Android APK on: push: tags: - 'v*' workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - name: Install dependencies run: npm ci - uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' - name: Cache Gradle uses: actions/cache@v4 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: gradle- - name: Generate Android native project run: npx expo prebuild --platform android --clean - name: Build debug APK working-directory: android run: | chmod +x gradlew ./gradlew assembleDebug --no-daemon - name: Upload APK uses: actions/upload-artifact@v4 with: name: SheetHappens-debug-${{ github.sha }} path: android/app/build/outputs/apk/debug/app-debug.apk retention-days: 30