Persist three Docker volumes into the build job (android-sdk, gradle home, npm
cache) and enable the Gradle build cache, so repeat builds skip the ~2GB NDK
download, Maven dependency resolution, and unchanged native/Kotlin compilation
— cutting builds from ~1h to a few minutes after the first run.
The runner must whitelist these volumes via config.yaml (container.valid_volumes);
deploy-runner.sh now writes that config, pre-creates the volumes, and starts the
daemon with --config. Requires re-running deploy-runner.sh on the runner host
before the next tag.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- gen-keystore.sh now builds a PKCS12 keystore with openssl (no JDK/keytool),
and signing.gradle declares storeType PKCS12.
- Runner is meant to run on a roomy server (the app host lacks disk for the
Android SDK); added runner/README.md with deployment steps. Removed the
runner that was registered on the app host.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>