Skip to content

MOBILE-244 | Implement Account Manager for Android (#308) #221

MOBILE-244 | Implement Account Manager for Android (#308)

MOBILE-244 | Implement Account Manager for Android (#308) #221

name: Distribute Android App
on:
push:
branches:
- development
paths:
- "android/**"
- "shared/**"
- "buildSrc/**"
- ".github/workflows/android-preview-branch-merge.yml"
jobs:
build_android_debug:
runs-on: ubuntu-latest
environment: production
steps:
- uses: actions/checkout@v2
- name: set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- name: Setup build tool version variable
run: |
BUILD_TOOL_VERSION=$(ls /usr/local/lib/android/sdk/build-tools/ | tail -n 1)
echo "BUILD_TOOL_VERSION=$BUILD_TOOL_VERSION" >> $GITHUB_ENV
echo Last build tool version is: $BUILD_TOOL_VERSION
- name: Setup local.properties
run: |
echo STAGING_URL="${{ vars.STAGING_URL }}" >> ./local.properties
echo PRODUCTION_URL="${{ vars.PRODUCTION_URL }}" >> ./local.properties
echo GOOGLE_AUTH_CLIENT_ID="${{ vars.GOOGLE_AUTH_CLIENT_ID }}" >> ./local.properties
echo "RECAPTCHA_SITE_KEY=${{ secrets.RECAPTCHA_SITE_KEY }}" >> ./local.properties
echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> ./local.properties
echo "ANDROID_SENTRY_DSN=${{ secrets.ANDROID_SENTRY_DSN }}" >> ./local.properties
echo "auth.token=${{ secrets.ANDROID_SENTRY_AUTH_TOKEN}}" >> ./sentry.properties
- name: create google-services.json
env:
GOOGLE_SERVICES_JSON: ${{ vars.GOOGLE_SERVICES_JSON }}
run: echo $GOOGLE_SERVICES_JSON > ./android/app-newm/google-services.json
- name: build android app
run: ./gradlew :android:app-newm:assembleProductionRelease
- uses: r0adkll/sign-android-release@v1
name: Sign app APK
# ID used to access action output
id: sign_app
with:
releaseDirectory: android/app-newm/build/outputs/apk/production/release
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.KEY_ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
env:
BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOL_VERSION }}
- uses: actions/upload-artifact@v2
with:
name: apk
path: ${{steps.sign_app.outputs.signedReleaseFile}}
- name: Upload artifact to Firebase App Distribution
uses: wzieba/Firebase-Distribution-Github-Action@v1
with:
appId: ${{secrets.FIREBASE_ANDROID_APP_ID}}
serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }}
groups: newm-team
file: ${{steps.sign_app.outputs.signedReleaseFile}}