koopa-admin-log/scripts/taler-monitoring/GIT-AUTOMATION-NOTES.md
Hernâni Marques 140b3bd16f
docs: cadence 7–13 min jitter; commit often, push only at end
Soft range instead of fixed 9m; helper defaults to no push.
2026-07-17 20:04:35 +02:00

5.1 KiB
Raw Blame History

Git / automation notes (taler-monitoring + mobile)

Notes for automated checks around the Taler stacks (GOA, stage TESTPAYSAN, …). CLI monitoring lives in this directory; Android wallet UI automation is separate tooling and is not installed on the default ops laptop yet.


Git commit / push cadence (existing model)

Observed in koopa-admin-log / francpaysan-admin-log histories, plus ops preference:

Rule Practice
Commits Prefer frequent small commits over rare large ones
Interval Soft range 713 minutes while a topic is open — not a fixed 9minute metronome; denser 02min bursts for tiny follow-ups are fine
Message area: short description — e.g. monitoring: …, landings: …, docs: …
Push Only at the end of a work session (CADENCE_PUSH=1 or manual git push) — not after every commit

Agent / human workflow

  1. Finish a small slice → commit (area: …). Repeat often.
  2. Do not push after each commit.
  3. When the topic/session is done → one git push (or CADENCE_PUSH=1).
  4. Soft next-commit window: about 713 min (jitter), sooner if the next slice is ready.

Helper script

# dry-run
CADENCE_DRY=1 ./scripts/git-cadence-commit-push.sh

# commit only if dirty (default: no push; skips secrets)
./scripts/git-cadence-commit-push.sh
./scripts/git-cadence-commit-push.sh ~/taler/src/francpaysan-admin-log

# end of session — push commits that are already local
CADENCE_PUSH=1 ./scripts/git-cadence-commit-push.sh

# soft timer: only commit if last commit age ≥ random target in 713 min
CADENCE_JITTER=1 ./scripts/git-cadence-commit-push.sh

Optional user cron (check every 7min; jitter keeps effective gaps in 713 min):

*/7 * * * * CADENCE_JITTER=1 $HOME/src/koopa/koopa-admin-log/scripts/git-cadence-commit-push.sh >>$HOME/.cache/git-cadence-koopa.log 2>&1

Auth note: francpaysan-admin-log (gnunet SSH) pushes OK.
koopa-admin-log (hacktivism HTTPS) needs credentials/SSH key before end-of-session push works from this host.

What runs without Android

Phase Needs
urls / sanity public HTTPS only
inside / versions SSH (koopa or francpaysan-stage-user)
e2e / ladder taler-wallet-cli + bank/merchant secrets
./taler-monitoring.sh -d stage.lefrancpaysan.ch urls
./taler-monitoring.sh -d stage.lefrancpaysan.ch e2e   # after secrets.env

Mobile app checks (manual withdraw/pay, then automation) are out of band until the software below is present.


Android automation software — required (not installed yet)

To automate GNU Taler Wallet on Android (stable + master builds; manual then auto withdraw; fixed + variable pay) against stage TESTPAYSAN, the following must be available on the runner host.

Status on this host (2026-07-17)

Component Status
Java (OpenJDK 21) present (/usr/bin/java)
aapt / aapt2 present
adb (platform-tools) missing (package was removed: android-tools-adb rc)
Android SDK (ANDROID_HOME / ANDROID_SDK_ROOT) missing / empty
Emulator + AVD missing
Appium / Maestro / uiautomator2 missing
scrcpy missing (optional)

Must install before mobile automation

  1. Android platform-tools — at least adb
    • Debian: android-tools-adb (and preferably full SDK platform-tools)
  2. Android SDK command-line toolssdkmanager, platforms, build-tools
    • set ANDROID_HOME (or ANDROID_SDK_ROOT) permanently
  3. System image + AVD — for emulator runs (x86_64 or host-matching ABI)
    • emulator, avdmanager, KVM/acceleration if available
  4. UI automation stack (pick one, prefer the leaner path for wallet flows):
    • Maestro, or
    • Appium + UiAutomator2 (+ Node/Python bindings as needed)
  5. Optional: scrcpy for live view during manual debugging

Explicitly out of scope until freigabe

  • Installing production wallet APKs and driving real stage withdraw/pay
    without a human go-ahead
  • Committing secrets, device serials, or APK binaries into git

Operator still needs to supply

  • Stable / master APK (or store/build URLs) for the wallet
  • USB debugging consent on a physical device, or agreement to use AVD only
  • Which flows are in-scope first (withdraw communal QR → shop pay, …)

Suggested freigabe prompt (for an agent)

See session notes: full copy-paste block under “Android-Automatisierung vollständig einrichten” — install tooling, verify adb devices + emulator, document paths; no real wallet payments until approved.


Doc Role
README.md how to run taler-monitoring.sh
TESTS.md grouped check IDs
secrets.env.example e2e secrets layout
francpaysan-admin-log/TODO.md stage wallet mobile test backlog

When Android tooling is installed, append a short “installed on …” section here (date, adb version, AVD name, ANDROID_HOME).