Use process substitution (< <(yes)) instead of a pipe so yes getting
SIGPIPE when sdkmanager stops reading isn't propagated by pipefail.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds .gitea/workflows/build.yml. On push/PR to master it builds a debug
APK as a smoke test (no secrets). On a v* tag it decodes the signing
keystore from the KEYSTORE_BASE64 secret, builds a signed release APK,
and attaches it to the Gitea release for that tag via the API.
Runs on a self-hosted act_runner (label ubuntu-latest →
catthehacker/ubuntu:act-22.04); Android SDK 34 + build-tools 34.0.0 are
installed and cached.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>