* fix(#63): require keystore env variables for release builds * fix(ci): conditionalize signing requirement to release tasks only
This commit is contained in:
2 files changed
+27
-5
No files matched your search
@@ -121,7 +121,7 @@ The debug APK will be at `app/build/outputs/apk/debug/app-debug.apk`.
|
||||
./gradlew assembleRelease -PversionName="1.2.0" -PversionCode="120"
|
||||
```
|
||||
|
||||
> **Note:** Release builds use debug signing keys by default. For Play Store distribution, configure a proper signing config.
|
||||
> **Note:** Release builds require proper signing configuration. Ensure the environment variables `KEYSTORE_PATH`, `KEYSTORE_PASSWORD`, `KEY_ALIAS`, and `KEY_PASSWORD` are set before building.
|
||||
|
||||
### Install
|
||||
|
||||
|
||||
+26
-4
@@ -29,10 +29,32 @@ android {
|
||||
|
||||
signingConfigs {
|
||||
create("release") {
|
||||
storeFile = file(System.getenv("KEYSTORE_PATH") ?: "hermes-control-release.keystore.jks")
|
||||
storePassword = System.getenv("KEYSTORE_PASSWORD") ?: "hermes_release"
|
||||
keyAlias = System.getenv("KEY_ALIAS") ?: "hermes-control-release"
|
||||
keyPassword = System.getenv("KEY_PASSWORD") ?: "hermes_release"
|
||||
val isReleaseBuild = gradle.startParameter.taskNames.any { name ->
|
||||
name.contains("Release", ignoreCase = true) || name == "build"
|
||||
}
|
||||
|
||||
if (isReleaseBuild) {
|
||||
val storePath = System.getenv("KEYSTORE_PATH")
|
||||
val storePass = System.getenv("KEYSTORE_PASSWORD")
|
||||
val alias = System.getenv("KEY_ALIAS")
|
||||
val keyPass = System.getenv("KEY_PASSWORD")
|
||||
|
||||
require(!storePath.isNullOrEmpty()) { "KEYSTORE_PATH environment variable is not set" }
|
||||
require(!storePass.isNullOrEmpty()) { "KEYSTORE_PASSWORD environment variable is not set" }
|
||||
require(!alias.isNullOrEmpty()) { "KEY_ALIAS environment variable is not set" }
|
||||
require(!keyPass.isNullOrEmpty()) { "KEY_PASSWORD environment variable is not set" }
|
||||
|
||||
storeFile = file(storePath)
|
||||
storePassword = storePass
|
||||
keyAlias = alias
|
||||
keyPassword = keyPass
|
||||
} else {
|
||||
// Dummy values for evaluation configuration during non-release builds
|
||||
storeFile = file("dummy.keystore")
|
||||
storePassword = "dummy"
|
||||
keyAlias = "dummy"
|
||||
keyPassword = "dummy"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user