From 9008c22fa63265d274eba09127ac32f7d24449cc Mon Sep 17 00:00:00 2001 From: Johannes Millan Date: Wed, 6 Nov 2024 19:44:05 +0100 Subject: [PATCH] feat(android): prepare auto builds --- .github/workflows/build-android.yml | 18 ++++++++++++++++++ android/app/build.gradle | 11 +++++++++++ 2 files changed, 29 insertions(+) diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml index 8399128be5..bb5ba74118 100644 --- a/.github/workflows/build-android.yml +++ b/.github/workflows/build-android.yml @@ -7,6 +7,7 @@ on: workflow_dispatch: inputs: null +# see: https://medium.com/@dcostalloyd90/automating-android-builds-with-github-actions-a-step-by-step-guide-2a02a54f59cd jobs: build: runs-on: ubuntu-latest @@ -40,8 +41,25 @@ jobs: - name: Install npm Packages # if: steps.npm-cache.outputs.cache-hit != 'true' run: npm i + + + - name: Decode Keystore + env: + ENCODED_STRING: ${{ secrets.DROID_KEYSTORE_BASE_64 }} + RELEASE_KEYSTORE_PASSWORD: ${{ secrets.DROID_KEYSTORE_PASSWORD }} + RELEASE_KEYSTORE_ALIAS: ${{ secrets.DROID_KEYSTORE_ALIAS }} + RELEASE_KEY_PASSWORD: ${{ secrets.DROID_KEY_PASSWORD }} + + run: | + echo $ENCODED_STRING > keystore-b64.txt + base64 -d keystore-b64.txt > keystore.jks + - name: Build run: npm run dist:android:prod + env: + RELEASE_KEYSTORE_PASSWORD: ${{ secrets.DROID_KEYSTORE_PASSWORD }} + RELEASE_KEYSTORE_ALIAS: ${{ secrets.DROID_KEYSTORE_ALIAS }} + RELEASE_KEY_PASSWORD: ${{ secrets.DROID_KEY_PASSWORD }} - name: 'Upload Artifact' uses: actions/upload-artifact@v3 diff --git a/android/app/build.gradle b/android/app/build.gradle index f422cfea54..93817042d9 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -46,10 +46,21 @@ android { buildConfigField "String", key, value.toString() } + signingConfig signingConfigs.release minifyEnabled false proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } } + + signingConfigs{ + release{ + storeFile file("../keystore.jks") + storePassword System.getenv("RELEASE_KEYSTORE_PASSWORD") + keyAlias System.getenv("RELEASE_KEYSTORE_ALIAS") + keyPassword System.getenv("RELEASE_KEY_PASSWORD") + } + } + flavorDimensions "version" productFlavors { play {