From 9ef5759f40376dde85236406d1f9b0c4b621656c Mon Sep 17 00:00:00 2001 From: funman300 Date: Thu, 14 May 2026 15:12:25 -0700 Subject: [PATCH] fix(ci): fail fast on empty keystore before 7-min cargo build If KEYSTORE_BASE64 is unset, base64 -d writes an empty file silently, cargo ndk then spends ~7 min compiling all ABIs, and only then does apksigner fail. Add a size check after decode so the job fails in seconds with a clear error message instead of wasting a full build. Co-Authored-By: Claude Sonnet 4.6 --- .gitea/workflows/android-release.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/android-release.yml b/.gitea/workflows/android-release.yml index f93f49d..5f43e04 100644 --- a/.gitea/workflows/android-release.yml +++ b/.gitea/workflows/android-release.yml @@ -101,7 +101,11 @@ jobs: # ── Build & sign with release keystore ───────────────────────────── - name: Decode keystore - run: echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > /tmp/solitaire-release.jks + run: | + echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > /tmp/solitaire-release.jks + size=$(wc -c < /tmp/solitaire-release.jks) + echo "Keystore size: ${size} bytes" + [ "$size" -gt 0 ] || { echo "ERROR: KEYSTORE_BASE64 secret is empty or unset"; exit 1; } - name: Build signed release APK env: