From bb6af517883d81621da6e18eb878999bb633460e Mon Sep 17 00:00:00 2001 From: be-nj Date: Wed, 26 Aug 2026 14:33:33 +0200 Subject: [PATCH] README: document the test and release scripts --- README.md | 41 ++++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 081074e..e8df8fb 100644 --- a/README.md +++ b/README.md @@ -82,19 +82,38 @@ Repos, die APK selbst liegt auf dem Branch `apk`. ### Tests ``` -./gradlew test # Unit-Tests, Reports unter tests/runs/ -tests/helpers/emulator.sh start # headloser Google-TV-Emulator -tests/helpers/emulator.sh install app/build/outputs/apk/debug/app-debug.apk -tests/helpers/emulator.sh shot name # Screenshot nach tests/runs/screenshots/ -tests/helpers/emulator.sh stop +./gradlew test # Unit-Tests, Reports unter tests/runs/ +tests/smoke.sh # Emulator: bauen, starten, durchklicken (~40 s) +tests/smoke.sh --stop # dasselbe, Emulator danach herunterfahren ``` -Der Emulator (AVD `castarr-googletv`, API 34) startet aus einem Snapshot und -ist in wenigen Sekunden oben; `stop` schreibt den Snapshot vorher neu. Ein -Kaltstart entsteht nur, wenn der Snapshot fehlt. +`tests/smoke.sh` baut das Debug-APK, setzt die Demo-Playlist als Quelle, +läuft mit dem D-Pad von der Senderliste bis in den Player und schlägt fehl +bei Absturz, ANR oder leerer Senderliste. Screenshots und Log landen unter +`tests/runs/`. Nicht abgedeckt: echte Wiedergabe, Onboarding am Handy, +Kopplung. -Demo-Daten für einen Lauf ohne echtes Backend: `tests/demo/make-demo-data.py` -erzeugt Playlist und EPG, die ein lokaler HTTP-Server als generische Quelle -ausliefert. +Der Emulator dahinter lässt sich auch einzeln steuern: + +``` +tests/helpers/emulator.sh start | stop | status +tests/helpers/emulator.sh install +tests/helpers/emulator.sh shot +``` + +Er startet aus einem Snapshot und ist in wenigen Sekunden oben; `stop` +schreibt den Snapshot vorher neu. Ein Kaltstart entsteht nur, wenn der +Snapshot fehlt (AVD `castarr-googletv`, API 34). + +### Release + +``` +tools/release.sh 0.11.6 --notes notes.md +``` + +Bumpt die Version, testet, baut signiert, taggt, schiebt die APK auf den +Branch `apk` und legt das Gitea-Release an. Ohne `--notes` schreibt es einen +Entwurf aus den Commit-Betreffs, den du selbst ausformulierst — Release-Notes +erfindet das Skript nicht. Architektur-Notizen: [CONTEXT.md](CONTEXT.md) und [docs/adr/](docs/adr/).