- scripts/deploy-runner.sh: compose-managed BigBrainParking Forgejo runner
(adapted from the Camp Scan one), with valid_volumes for bigbrainparking-gradle
and bigbrainparking-npm. No android-sdk volume — the RN build image ships it.
- Workflow mounts those caches (GRADLE_USER_HOME + npm cache) and enables the
Gradle build cache (org.gradle.caching + --build-cache), so repeat builds skip
the dep re-download and recompile that dominate a cold ~35 min build.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Server report (20GB/4-core box) showed 3 Kotlin daemons at -Xmx5376m each + clang
swarm ~9GB thrashing swap. Cap kotlin.daemon.jvmargs and org.gradle.jvmargs to
1536m in gradle.properties, workers.max=2, no parallel. Container: --cpus=2
--memory=8g with swap disabled (--memory-swap==--memory) so it OOM-fails instead
of thrashing disk. Build now uses ~5GB.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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>