name: Build APK Android on: workflow_dispatch: push: branches: [main] jobs: build: runs-on: ubuntu-latest defaults: run: working-directory: ./mobile steps: - uses: actions/checkout@v2 # Build - uses: subosito/flutter-action@v2 with: channel: "stable" cache: true cache-key: flutter2.10 # optional, change this to force refresh cache env: KEY_JKS: ${{ secrets.SIGNING_KEY }} SIGNING_KEY_ALIAS: ${{ secrets.ALIAS }} SIGNING_KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} SIGNING_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }} - name: Decode Keystore run: | echo "${{secrets.SIGNING_KEY}}" > release.keystore.asc gpg --decrypt --passphrase "${{secrets.KEY_STORE_PASSWORD}}" --batch release.keystore.asc > mobile/android/key.jks - name: Create key.properties run: touch mobile/android/key.properties echo "storePassword= keyPassword= keyAlias= storeFile=../key.jks" > mobile/android/key.properties - run: flutter --version - run: flutter pub get - run: flutter build apk - run: flutter build appbundle # Upload Artifact - uses: actions/upload-artifact@v2 with: name: release-apk path: mobile/build/app/outputs/apk/release/app-release.apk