release: explicit signing config + vc 72 (0.1.0-CF)
All checks were successful
gitleaks / scan (push) Successful in 53s

Wire an env-driven signingConfig so CI/release builds reuse ONE keystore
instead of Gradle's per-machine auto-generated ~/.android/debug.keystore
— a fresh CI container would otherwise mint a different key and break
in-place fdroid updates for everyone. STRAW_KEYSTORE_FILE (+ _PASS /
_ALIAS / KEY_PASS) point at the canonical key; unset → default debug
signing so local dev needs no setup. The key is the same androiddebugkey
(SHA1 BB:9C:A9:6B…) that signed vc 15→71, now also vaulted.

vc 71 → 72 for the channel/search infinite-scroll pagination fix.
This commit is contained in:
Cobb 2026-06-19 19:38:48 -07:00
parent 4dfb2e1450
commit 845a8b9cc7
2 changed files with 27 additions and 2 deletions

View file

@ -55,6 +55,6 @@ const val NEWPIPE_APPLICATION_ID_NEW = "net.newpipe.app"
// vc=19 / 0.1.0-AE — rust pipeline cutover. Extraction via
// strawcore-core (Sulkta-Coop/strawcore) via the UniFFI wrapper; no
// NewPipeExtractor in the runtime path.
const val STRAW_VERSION_CODE = 71
const val STRAW_VERSION_NAME = "0.1.0-CE"
const val STRAW_VERSION_CODE = 72
const val STRAW_VERSION_NAME = "0.1.0-CF"
const val STRAW_APPLICATION_ID = "com.sulkta.straw"

View file

@ -38,6 +38,26 @@ configure<ApplicationExtension> {
resValue("string", "app_name", "Straw")
}
// Explicit signing so CI / release builds reuse ONE keystore instead of
// Gradle's per-machine auto-generated ~/.android/debug.keystore — a fresh
// CI container would otherwise mint a DIFFERENT key and break in-place
// updates for everyone on fdroid. Driven by env so local dev needs no
// setup (unset → Gradle's default debug signing):
// STRAW_KEYSTORE_FILE — path to the keystore
// STRAW_KEYSTORE_PASS / STRAW_KEY_ALIAS / STRAW_KEY_PASS — creds
// Vault: [Sulkta — Straw fdroid signing keystore (debug androiddebugkey)].
val strawKeystoreFile: String? = System.getenv("STRAW_KEYSTORE_FILE")
signingConfigs {
if (strawKeystoreFile != null) {
create("sulkta") {
storeFile = file(strawKeystoreFile)
storePassword = System.getenv("STRAW_KEYSTORE_PASS") ?: "android"
keyAlias = System.getenv("STRAW_KEY_ALIAS") ?: "androiddebugkey"
keyPassword = System.getenv("STRAW_KEY_PASS") ?: "android"
}
}
}
buildTypes {
// R8 enabled on BOTH variants — we publish the debug APK to
// fdroid (com.sulkta.straw.debug) per the existing pipeline,
@ -55,6 +75,11 @@ configure<ApplicationExtension> {
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
)
// Reuse the canonical fdroid keystore in CI/release; fall back to
// Gradle's default debug keystore for local dev (env unset).
if (strawKeystoreFile != null) {
signingConfig = signingConfigs.getByName("sulkta")
}
}
release {
isMinifyEnabled = true