Commit graph

6 commits

Author SHA1 Message Date
ba3ae8b3e6 CI: dedicated cached runner for this repo (deploy script + volume caches)
- 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>
2026-07-08 11:05:35 -07:00
208cddee33 CI: cap Kotlin daemon heap (the real memory hog) + container swap off
Some checks are pending
build-apk / build (push) Waiting to run
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>
2026-07-08 10:40:39 -07:00
0b8713790b CI: cap build resources so it can't starve the host
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>
2026-07-08 10:37:20 -07:00
5d269bf2a3 Fix release signing in CI: anchor plugin regex to buildTypes release block
All checks were successful
build-apk / build (push) Successful in 35m3s
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>
2026-07-07 19:49:37 -07:00
7970678b90 CI: force IPv4 for Gradle (runner container lacks IPv6 -> dl.google.com unreachable)
Some checks failed
build-apk / build (push) Failing after 53m53s
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>
2026-07-07 15:34:47 -07:00
3d1505d2e7 CI: move workflow to .forgejo/workflows; self-contained Forgejo release; bump 0.1.1
Some checks failed
build-apk / build (push) Failing after 10m45s
- .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>
2026-07-07 14:18:06 -07:00