1
0
mirror of git://f0xx.org/android_cast synced 2026-07-29 03:18:32 +03:00
Files
android_cast/docker-compose.build.yml
Anton Afanasyeu 097c0790b8 Add gzip-aware crash upload and OTA staging build/deploy tooling.
This restores the interrupted stash work on a dedicated feature branch, including backend decoding support, Dockerized build scripts, and staging channel artifacts for end-to-end OTA validation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 16:08:46 +02:00

53 lines
1.7 KiB
YAML

# Android Cast — Docker build + OTA staging publish
#
# export OTA_BASE_URL=https://apps.f0xx.org
# docker compose -f docker-compose.build.yml run --rm android-build
#
# Outputs on the host: ./out/android_cast-latest.apk ./out/ota/v0/...
#
# Publish APK only from an existing build (skip compile):
# docker compose -f docker-compose.build.yml run --rm ota-publish-only
services:
android-build:
build:
context: .
dockerfile: Dockerfile
image: androidcast-ci:latest
working_dir: /workspace
volumes:
- .:/workspace
- gradle-cache:/root/.gradle
environment:
OTA_BASE_URL: ${OTA_BASE_URL:-}
OTA_CHANNEL: ${OTA_CHANNEL:-staging}
GRADLE_TASK: ${GRADLE_TASK:-assembleDebug}
SKIP_NATIVE: ${SKIP_NATIVE:-0}
SKIP_TESTS: ${SKIP_TESTS:-0}
RELEASE_NOTES: ${RELEASE_NOTES:-}
OUT_DIR: /workspace/out
command: ["./scripts/ci-build-and-publish-ota.sh"]
ota-publish-only:
image: androidcast-ci:latest
working_dir: /workspace
volumes:
- .:/workspace
environment:
OTA_BASE_URL: ${OTA_BASE_URL:?set OTA_BASE_URL}
OTA_CHANNEL: ${OTA_CHANNEL:-staging}
APK_PATH: ${APK_PATH:-/workspace/app/build/outputs/apk/debug/app-debug.apk}
RELEASE_NOTES: ${RELEASE_NOTES:-}
entrypoint: ["/bin/bash", "-c"]
command:
- |
set -euo pipefail
./scripts/generate-ota-v0.sh "$${APK_PATH}" "$${OTA_BASE_URL}" /workspace/out/ota-publish "$${OTA_CHANNEL}"
mkdir -p /workspace/out/ota
cp -rf /workspace/out/ota-publish/v0 /workspace/out/ota/
cp -f "$${APK_PATH}" /workspace/out/android_cast-latest.apk
echo "Published to /workspace/out/ota/v0/ota/channel/$${OTA_CHANNEL}.json"
volumes:
gradle-cache: