Container hard limits: --cpus=2 --memory=6g (Docker-enforced regardless of Gradle).
Gradle: -Xmx3g heap, --max-workers=2, no parallel project builds. Adjust the
--cpus/--memory to the server's size.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The signing plugin added a release{} inside signingConfigs{}, so the debug-line
replacement matched that block instead of the release BUILD TYPE — CI produced
debug-signed APKs (would break Obtainium updates vs the release-signed v0.1.0).
Anchor on `buildTypes { ... release {`. Verified locally: release buildType now
uses the release key when BBP_UPLOAD_* is set. Also unify keystore path via
github.workspace in both steps.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
react-native-edge-to-edge's buildscript needs com.android.tools.build:gradle:8.1.1
from Google Maven; the runner's container has no IPv6 route so the AAAA lookup was
"Network is unreachable". Pass -Djava.net.preferIPv4Stack=true to Gradle.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- .forgejo/workflows/build-apk.yml (Forgejo's location): on v* tag, build signed
APK using the Actions secrets and publish via the Forgejo API (curl + auto token),
no external action. Best-effort NDK install for the RN version.
- Remove the old .gitea workflow to avoid double runs.
- Bump app version to 0.1.1.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>