name: Build APK on: push: branches: [ master ] jobs: build: runs-on: ubuntu-latest defaults: run: shell: bash working-directory: ./apk steps: - name: 📥 Checkout uses: actions/checkout@v4 - name: 🟢 Setup Node uses: actions/setup-node@v4 with: node-version: 20 - name: 📦 Install dependencies run: npm install - 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: ⚙️ Expo prebuild run: npx expo prebuild --clean --non-interactive - name: 🔐 Decode Keystore run: | echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > android/release.keystore - name: 🏗️ Build APK (Release) working-directory: ./apk/android run: | ./gradlew assembleRelease - name: 📦 Zip APK working-directory: . run: | mkdir -p dist cp apk/android/app/build/outputs/apk/release/app-release.apk dist/ zip -j dist/build.zip dist/app-release.apk - name: Create Release uses: https://gitea.com/actions/gitea-release-action@v1 working-directory: . with: tag_name: latest name: Latest Build overwrite_files: true files: | - dist/build.zip env: GITEA_TOKEN: ${{ secrets.GITEA }}