From ceebaafadfdb1a174da3e5480bed0734c236c6a3 Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Thu, 25 May 2023 20:31:24 +0530 Subject: [PATCH] build: avoid downloading signing key in CI builds --- .github/workflows/build.yml | 4 ++++ app/build.gradle.kts | 9 +++++++++ .../assets/data/common/tooling-api-all.jar | Bin 16297949 -> 16298546 bytes build-logic/ide/src/main/java/config.kt | 13 +++++++------ 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9f604c628..1ba0d5e9e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -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 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index ad6326f26..3f0e415f2 100755 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -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 diff --git a/app/src/main/assets/data/common/tooling-api-all.jar b/app/src/main/assets/data/common/tooling-api-all.jar index 6c93a1201b9bfb29ed635ba728b053d0d4a61c54..c65e7cf91cb2e7dfce1e9aa17d532b7bdffe2fe9 100644 GIT binary patch delta 240381 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