koopa-admin-log/scripts/taler-monitoring/GIT-AUTOMATION-NOTES.md
Hernâni Marques cce1fcbe09
docs: git commit/push cadence 7–11 min + helper script
Match historical area: message style; optional cadence commit/push helper.
2026-07-17 20:03:46 +02:00

135 lines
5.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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` and `francpaysan-admin-log` histories
(active work on 2026-07-17):
| Rule | Practice |
|------|----------|
| **Interval** | About **711 minutes** between publishable steps while a topic is open (bursts of 02min are fine for tiny follow-ups) |
| **Message** | `area: short description` — e.g. `monitoring: …`, `landings: …`, `docs: …`, `scripts: …`, `todo: …` |
| **Size** | One logical change (or a tight bundle), not end-of-day megacommits |
| **Push** | After each commit when the remote accepts auth (`git push origin …`) |
### Agent / human workflow
1. Finish a small slice of work.
2. `git status` / diff → commit with the area-prefix style.
3. `git push` (or run the helper below).
4. Continue; next commit window ~**711 min** later (or sooner if the next slice is ready).
### Helper script
From the admin-log root:
```bash
# dry-run
CADENCE_DRY=1 ./scripts/git-cadence-commit-push.sh
# commit + push this repo if dirty (skips secrets.env / *password* / *token*)
./scripts/git-cadence-commit-push.sh
# other checkout
./scripts/git-cadence-commit-push.sh ~/taler/src/francpaysan-admin-log
```
Optional timer (every 9min ≈ mid of 711):
```bash
# user crontab example
*/9 * * * * $HOME/src/koopa/koopa-admin-log/scripts/git-cadence-commit-push.sh >>$HOME/.cache/git-cadence-koopa.log 2>&1
*/9 * * * * $HOME/src/koopa/koopa-admin-log/scripts/git-cadence-commit-push.sh $HOME/taler/src/francpaysan-admin-log >>$HOME/.cache/git-cadence-lfp.log 2>&1
```
**Auth note (this host):** `francpaysan-admin-log``ssh://git@git.gnunet.org/…` works.
`koopa-admin-log``https://git.hacktivism.ch/…` needs credentials / SSH key for
`git.hacktivism.ch` (push may stay local until that is fixed).
## 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 |
```bash
./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 tools**`sdkmanager`, 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.
---
## Related docs
| Doc | Role |
|-----|------|
| [README.md](./README.md) | how to run `taler-monitoring.sh` |
| [TESTS.md](./TESTS.md) | grouped check IDs |
| [secrets.env.example](./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`).