name: Android CD Internal on: push: branches: [ master ] repository_dispatch: workflow_dispatch: jobs: build-apk: name: Build signed APK runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Restore Cache uses: actions/cache@v2 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} restore-keys: | ${{ runner.os }}-gradle- - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Change gradle permission run: chmod +x ./gradlew - name: Assemble release APK run: ./gradlew assembleRelease - uses: r0adkll/sign-android-release@v1 name: Sign release APK id: signing with: releaseDirectory: app/build/outputs/apk/release signingKeyBase64: ${{ secrets.SIGN_KEY }} alias: ${{ secrets.KEY_ALIAS }} keyStorePassword: ${{ secrets.STORE_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD }} env: BUILD_TOOLS_VERSION: 30.0.2 - uses: actions/upload-artifact@v2 with: name: release-apk path: ${{steps.signing.outputs.signedReleaseFile}} deploy-firebase: name: Deploy to Firebase App Distribution needs: [ build-apk ] runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Download release APK uses: actions/download-artifact@master with: name: release-apk - name: Upload file to Firebase App Distribution uses: wzieba/Firebase-Distribution-Github-Action@v1.3.2 with: appId: ${{secrets.FIREBASE_APP_ID}} token: ${{secrets.FIREBASE_TOKEN}} groups: developers file: app-release-unsigned-signed.apk