fix(ci): add release-compile safeguard to catch debugImplementation regressions (#336)
- Reverts okhttp.logging dependency from debugImplementation back to implementation so it's on the release classpath - Adds compileReleaseKotlin CI job to catch release-variant compilation errors on every PR - Fixes signing config to allow compileReleaseKotlin without keystore env vars (graceful fallback instead of hard require()) - Updates AGENTS.md with dependency scoping pitfall and CI docs Co-authored-by: M57 <hy4ri@users.noreply.github.com>
This commit is contained in:
1 parent
98c02879b4
commit
efba360d8a
3 files changed
+61
-14
No files matched your search
+16
-10
@@ -41,15 +41,21 @@ android {
|
||||
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
|
||||
if (storePath != null && storePass != null && alias != null && keyPass != null) {
|
||||
storeFile = file(storePath)
|
||||
storePassword = storePass
|
||||
keyAlias = alias
|
||||
keyPassword = keyPass
|
||||
} else {
|
||||
// Env vars missing — signing deferred to release workflow.
|
||||
// Don't hard-require(): that would break compileReleaseKotlin
|
||||
// in CI where keystore secrets aren't set.
|
||||
logger.warn("Release signing config missing env vars — signing deferred to release workflow")
|
||||
storeFile = file("dummy.keystore")
|
||||
storePassword = "dummy"
|
||||
keyAlias = "dummy"
|
||||
keyPassword = "dummy"
|
||||
}
|
||||
} else {
|
||||
// Dummy values for evaluation configuration during non-release builds
|
||||
storeFile = file("dummy.keystore")
|
||||
@@ -128,7 +134,7 @@ dependencies {
|
||||
|
||||
// Networking
|
||||
implementation(libs.okhttp)
|
||||
debugImplementation(libs.okhttp.logging)
|
||||
implementation(libs.okhttp.logging)
|
||||
implementation(libs.retrofit)
|
||||
implementation(libs.retrofit.converter.gson)
|
||||
implementation(libs.gson)
|
||||
|
||||
Reference in new issue
Block a user