From 16ed756e4fb2cd32b6ad1f303b6e9bc3fb22ff6d Mon Sep 17 00:00:00 2001 From: Helios Date: Mon, 23 Feb 2026 14:15:29 +0100 Subject: [PATCH] ci: sign with consistent release keystore --- .github/workflows/build-apk.yml | 17 +++++++++++++---- app/build.gradle.kts | 10 ++++++---- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-apk.yml b/.github/workflows/build-apk.yml index 032dc05..1bfc0fb 100644 --- a/.github/workflows/build-apk.yml +++ b/.github/workflows/build-apk.yml @@ -1,4 +1,4 @@ -name: Build Debug APK +name: Build Release APK on: workflow_dispatch: @@ -18,12 +18,21 @@ jobs: - name: Setup Android SDK uses: android-actions/setup-android@v3 - - name: Build debug APK - run: ./gradlew assembleDebug + - name: Decode keystore + run: | + echo "${{ secrets.RELEASE_KEYSTORE_B64 }}" | base64 -d > $RUNNER_TEMP/helios-release.jks + + - name: Build release APK + env: + RELEASE_KEYSTORE_PATH: ${{ runner.temp }}/helios-release.jks + RELEASE_KEYSTORE_PASS: ${{ secrets.RELEASE_KEYSTORE_PASS }} + RELEASE_KEY_ALIAS: helios + RELEASE_KEY_PASS: ${{ secrets.RELEASE_KEYSTORE_PASS }} + run: ./gradlew assembleRelease - name: Upload APK uses: actions/upload-artifact@v4 with: name: helios-alarm-clock-debug - path: app/build/outputs/apk/debug/*.apk + path: app/build/outputs/apk/release/*.apk retention-days: 7 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 47e155b..a56f93f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -26,10 +26,12 @@ android { signingConfigs { create("release") { - storeFile = file(System.getProperty("user.home") + "/.android/debug.keystore") - storePassword = "android" - keyAlias = "androiddebugkey" - keyPassword = "android" + val keystorePath = System.getenv("RELEASE_KEYSTORE_PATH") + storeFile = if (keystorePath != null) file(keystorePath) + else file(System.getProperty("user.home") + "/.android/debug.keystore") + storePassword = System.getenv("RELEASE_KEYSTORE_PASS") ?: "android" + keyAlias = System.getenv("RELEASE_KEY_ALIAS") ?: "androiddebugkey" + keyPassword = System.getenv("RELEASE_KEY_PASS") ?: "android" } } buildTypes {