From cd7c6541fd74ad76f35fdfb769da613d79d9b033 Mon Sep 17 00:00:00 2001 From: tapframe <85391825+tapframe@users.noreply.github.com> Date: Sat, 14 Mar 2026 12:56:55 +0530 Subject: [PATCH] Add CI signing fallback for beta releases --- .github/workflows/beta-release.yml | 20 ++++++++++++++++++++ app/build.gradle.kts | 26 +++++++++++++++++++++----- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/.github/workflows/beta-release.yml b/.github/workflows/beta-release.yml index 60ea0b1b..046b1600 100644 --- a/.github/workflows/beta-release.yml +++ b/.github/workflows/beta-release.yml @@ -51,6 +51,26 @@ jobs: git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + - name: Prepare signing config + if: ${{ !inputs.dry_run }} + env: + RELEASE_KEYSTORE_BASE64: ${{ secrets.NUVIO_RELEASE_KEYSTORE_BASE64 }} + RELEASE_KEY_ALIAS: ${{ secrets.NUVIO_RELEASE_KEY_ALIAS }} + RELEASE_KEY_PASSWORD: ${{ secrets.NUVIO_RELEASE_KEY_PASSWORD }} + RELEASE_STORE_PASSWORD: ${{ secrets.NUVIO_RELEASE_STORE_PASSWORD }} + run: | + if [ -n "$RELEASE_KEYSTORE_BASE64" ]; then + echo "$RELEASE_KEYSTORE_BASE64" | base64 --decode > "$RUNNER_TEMP/nuviotv.jks" + { + echo "NUVIO_RELEASE_STORE_FILE=$RUNNER_TEMP/nuviotv.jks" + echo "NUVIO_RELEASE_KEY_ALIAS=$RELEASE_KEY_ALIAS" + echo "NUVIO_RELEASE_KEY_PASSWORD=$RELEASE_KEY_PASSWORD" + echo "NUVIO_RELEASE_STORE_PASSWORD=$RELEASE_STORE_PASSWORD" + } >> "$GITHUB_ENV" + else + echo "CI_USE_DEBUG_SIGNING=true" >> "$GITHUB_ENV" + fi + - name: Preview beta release if: ${{ inputs.dry_run }} run: | diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5e85d5eb..2043268f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -24,6 +24,18 @@ val devProperties = Properties().apply { } } +fun env(name: String): String? = providers.environmentVariable(name).orNull + +val useDebugReleaseSigning = env("CI_USE_DEBUG_SIGNING").equals("true", ignoreCase = true) +val releaseStoreFilePath = env("NUVIO_RELEASE_STORE_FILE") + ?: localProperties.getProperty("NUVIO_RELEASE_STORE_FILE") +val releaseKeyAliasValue = env("NUVIO_RELEASE_KEY_ALIAS") + ?: localProperties.getProperty("NUVIO_RELEASE_KEY_ALIAS", "nuviotv") +val releaseKeyPasswordValue = env("NUVIO_RELEASE_KEY_PASSWORD") + ?: localProperties.getProperty("NUVIO_RELEASE_KEY_PASSWORD", "815787") +val releaseStorePasswordValue = env("NUVIO_RELEASE_STORE_PASSWORD") + ?: localProperties.getProperty("NUVIO_RELEASE_STORE_PASSWORD", "815787") + android { namespace = "com.nuvio.tv" compileSdk = 36 @@ -57,10 +69,10 @@ android { signingConfigs { create("release") { - keyAlias = "nuviotv" - keyPassword = "815787" - storeFile = file("../nuviotv.jks") - storePassword = "815787" + keyAlias = releaseKeyAliasValue + keyPassword = releaseKeyPasswordValue + storeFile = releaseStoreFilePath?.let(::file) ?: file("../nuviotv.jks") + storePassword = releaseStorePasswordValue } } @@ -92,7 +104,11 @@ android { getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) - signingConfig = signingConfigs.getByName("release") + signingConfig = if (useDebugReleaseSigning) { + signingConfigs.getByName("debug") + } else { + signingConfigs.getByName("release") + } buildConfigField("boolean", "IS_DEBUG_BUILD", "false")