build: avoid downloading signing key in CI builds

This commit is contained in:
Akash Yadav
2023-05-25 20:31:24 +05:30
parent 4346c6a572
commit ceebaafadf
4 changed files with 20 additions and 6 deletions
+4
View File
@@ -55,6 +55,7 @@ jobs:
IDE_SIGNING_KEY_PASS: ${{ secrets.IDE_SIGNING_KEY_PASS }}
IDE_SIGNING_STORE_PASS: ${{ secrets.IDE_SIGNING_STORE_PASS }}
IDE_SIGNING_URL: ${{ secrets.IDE_SIGNING_URL }}
IDE_SIGNING_KEY_BIN: ${{ secrets.IDE_SIGNING_KEY_BIN }}
- name: Copy debug APK
if: ${{ github.ref != 'refs/heads/main' }}
run: cp app/build/outputs/apk/debug/**.apk ./
@@ -69,6 +70,7 @@ jobs:
IDE_SIGNING_KEY_PASS: ${{ secrets.IDE_SIGNING_KEY_PASS }}
IDE_SIGNING_STORE_PASS: ${{ secrets.IDE_SIGNING_STORE_PASS }}
IDE_SIGNING_URL: ${{ secrets.IDE_SIGNING_URL }}
IDE_SIGNING_KEY_BIN: ${{ secrets.IDE_SIGNING_KEY_BIN }}
- name: Copy release APK
if: ${{ github.ref == 'refs/heads/main' }}
run: cp app/build/outputs/apk/release/**.apk ./
@@ -117,6 +119,7 @@ jobs:
IDE_SIGNING_KEY_PASS: ${{ secrets.IDE_SIGNING_KEY_PASS }}
IDE_SIGNING_STORE_PASS: ${{ secrets.IDE_SIGNING_STORE_PASS }}
IDE_SIGNING_URL: ${{ secrets.IDE_SIGNING_URL }}
IDE_SIGNING_KEY_BIN: ${{ secrets.IDE_SIGNING_KEY_BIN }}
- name: Upload Test Reports
if: ${{ always() }}
uses: actions/upload-artifact@v3
@@ -157,6 +160,7 @@ jobs:
IDE_SIGNING_KEY_PASS: ${{ secrets.IDE_SIGNING_KEY_PASS }}
IDE_SIGNING_STORE_PASS: ${{ secrets.IDE_SIGNING_STORE_PASS }}
IDE_SIGNING_URL: ${{ secrets.IDE_SIGNING_URL }}
IDE_SIGNING_KEY_BIN: ${{ secrets.IDE_SIGNING_KEY_BIN }}
- name: Upload Test Reports
if: ${{ always() }}
uses: actions/upload-artifact@v3
+9
View File
@@ -1,5 +1,7 @@
@file:Suppress("UnstableApiUsage")
import java.util.Base64
plugins {
id("com.android.application")
id("kotlin-android")
@@ -167,6 +169,13 @@ fun downloadSigningKey() {
return
}
getEnvOrProp(KEY_BIN)?.let { bin ->
logger.info("Using $KEY_BIN for writing signing key")
val contents = Base64.getDecoder().decode(bin)
signingKey.writeBytes(contents)
return
}
// URL to download the signing key
val url = getEnvOrProp(KEY_URL) ?: return
Binary file not shown.
+7 -6
View File
@@ -18,12 +18,13 @@
import org.gradle.api.Project
import java.io.File
val KEY_ALIAS = "IDE_SIGNING_ALIAS"
val AUTH_PASS = "IDE_SIGNING_AUTH_PASS"
val AUTH_USER = "IDE_SIGNING_AUTH_USER"
val KEY_PASS = "IDE_SIGNING_KEY_PASS"
val KEY_STORE_PASS = "IDE_SIGNING_STORE_PASS"
val KEY_URL = "IDE_SIGNING_URL"
const val KEY_ALIAS = "IDE_SIGNING_ALIAS"
const val AUTH_PASS = "IDE_SIGNING_AUTH_PASS"
const val AUTH_USER = "IDE_SIGNING_AUTH_USER"
const val KEY_PASS = "IDE_SIGNING_KEY_PASS"
const val KEY_STORE_PASS = "IDE_SIGNING_STORE_PASS"
const val KEY_URL = "IDE_SIGNING_URL"
const val KEY_BIN = "IDE_SIGNING_KEY_BIN"
val Project.signingKey: File
get() = rootProject.file("signing-key.jks")