From 3f96f0fa40d9f8bfcae9d7e5775099fed91e54ba Mon Sep 17 00:00:00 2001 From: Tim Kluge Date: Sun, 15 Dec 2024 18:12:22 +0100 Subject: [PATCH] Add release sign config to action --- .github/workflows/android.yml | 4 ++++ app/build.gradle.kts | 23 ++++++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 8239695..6652e7e 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -16,6 +16,10 @@ jobs: run: | echo "GPR_USER=${{ github.actor }}" >> $GITHUB_ENV echo "GPR_KEY=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV + echo "KEY_ALIAS=${{ secrets.KEY_ALIAS }}" >> $GITHUB_ENV + echo "KEY_PASSWORD=${{ secrets.KEY_PASSWORD }}" >> $GITHUB_ENV + echo "KEYSTORE_PASSWORD=${{ secrets.KEYSTORE_PASSWORD }}" >> $GITHUB_ENV + echo "KEYSTORE_BASE64=${{ secrets.KEYSTORE_BASE64 }}" >> $GITHUB_ENV - uses: actions/checkout@v4 - name: set up JDK 17 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 3e0599b..a326eb3 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jose4j.base64url.Base64 + plugins { alias(libs.plugins.android.application) alias(libs.plugins.jetbrains.kotlin.android) @@ -17,9 +19,28 @@ android { versionName = "1.0.6" } + signingConfigs { + create("release") { + val env: MutableMap = System.getenv() + keyAlias = env["KEY_ALIAS"] + keyPassword = env["KEY_PASSWORD"] + + val base64keystore: String = env["KEYSTORE_BASE64"] ?: "" + val keystoreFile: File = File.createTempFile("keystore", ".jks") + if (base64keystore.isNotEmpty()){ + keystoreFile.writeText(String(Base64.decode(base64keystore))) + } + storeFile = keystoreFile + storePassword = env["KEYSTORE_PASSWORD"] + } + } buildTypes { - release { + debug { isMinifyEnabled = false + } + release { + signingConfig = signingConfigs.getByName("release") + // isMinifyEnabled = false proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } }