* 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"
|
./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
|
### Install
|
||||||
|
|
||||||
|
|||||||
+26
-4
@@ -29,10 +29,32 @@ android {
|
|||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
create("release") {
|
create("release") {
|
||||||
storeFile = file(System.getenv("KEYSTORE_PATH") ?: "hermes-control-release.keystore.jks")
|
val isReleaseBuild = gradle.startParameter.taskNames.any { name ->
|
||||||
storePassword = System.getenv("KEYSTORE_PASSWORD") ?: "hermes_release"
|
name.contains("Release", ignoreCase = true) || name == "build"
|
||||||
keyAlias = System.getenv("KEY_ALIAS") ?: "hermes-control-release"
|
}
|
||||||
keyPassword = System.getenv("KEY_PASSWORD") ?: "hermes_release"
|
|
||||||
|
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