taler-monitoring/GIT-AUTOMATION-NOTES.md
2026-07-18 22:09:37 +02:00

96 lines
3.3 KiB
Markdown

# Git / release notes — **taler-monitoring**
How we commit, tag, and push this **standalone** suite
(`https://git.hacktivism.ch/hernani/taler-monitoring`).
**Not here:** Android UI automation → [`android-test/GUI-AUTOMATION-NOTES.md`](./android-test/GUI-AUTOMATION-NOTES.md)
**Not here:** wallet-cli e2e pain points → [`CLI-AUTOMATION-NOTES.md`](./CLI-AUTOMATION-NOTES.md)
---
## Canonical tree
| | |
|--|--|
| Clone | `~/src/taler-monitoring` |
| Remote | `https://git.hacktivism.ch/hernani/taler-monitoring.git` |
| Branch | `main` |
| Tags | `vX.Y` / `vX.Y.Z` (see [`VERSIONS.md`](./VERSIONS.md)) |
| Symlink (optional) | `~/taler-monitoring` → suite dir (`update-suite.sh`) |
There is **no** `scripts/` subtree under an ops admin-log for this suite.
Host ops (Caddy, landings, day logs) stay in **koopa-admin-log** (separate repo).
---
## Commit / push cadence
| Rule | Practice |
|------|----------|
| **Commits** | Prefer frequent small commits (`area: short description`) |
| **Areas** | e.g. `host-agent: …`, `site-gen: …`, `monpages: …`, `docs: …`, `release: …` |
| **Push** | At end of a work slice / session — not after every micro-commit |
| **Tags** | After a fix/feature lands on `main`, tag + push tag (e.g. `v1.3.3`) |
```bash
cd ~/src/taler-monitoring
git status -sb
git add -A && git commit -m "area: description"
# session end:
git push origin main
git tag -a v1.3.3 -m "v1.3.3: …"
git push origin v1.3.3
```
### Push from koopa (HTTPS + Forgejo token)
Laptop SSH keys often cannot push to Forgejo; on **koopa** a token file is used
(ops-only, never commit it):
```bash
# example — do not print the token
TOK=$(tr -d '\n\r ' < ~/.config/forgejo-taler-monitoring.token)
git push "https://hernani:${TOK}@git.hacktivism.ch/hernani/taler-monitoring.git" main
```
Prefer `git push origin …` once `credential.helper` / remote URL is set up.
### Host-agent auto-update
`host-agent/update-suite.sh` does `git fetch` + `reset --hard` to `SUITE_GIT_REF`
(default `main`). Local uncommitted suite edits under `~/src/taler-monitoring`
can be wiped — keep work in a branch or commit first. Stack env lives only in
`~/.config/taler-monitoring/env` (never overwritten by git).
---
## What the suite runs (no Android)
| Phase | Needs |
|-------|--------|
| `urls` / `sanity` | public HTTPS |
| `inside` / `versions` | SSH / podman on local stacks |
| `monpages` | public FQDN of **monitoring HTML** (not merchant JSON code 21) |
| `e2e` / `ladder` | `taler-wallet-cli` + secrets |
| `surface` / `aptdeploy` | explicit only (timers on koopa) |
```bash
./taler-monitoring.sh -d hacktivism.ch urls monpages
./taler-monitoring.sh -d stage.lefrancpaysan.ch e2e # after secrets.env
```
Mobile / GUI → **GUI-AUTOMATION-NOTES** and `android-test/`.
---
## Related docs
| Doc | Role |
|-----|------|
| [README.md](./README.md) | how to run `taler-monitoring.sh` |
| [VERSIONS.md](./VERSIONS.md) | release tags |
| [TESTS.md](./TESTS.md) | grouped check IDs |
| [secrets.env.example](./secrets.env.example) | e2e secrets layout |
| [host-agent/README.md](./host-agent/README.md) | systemd timers / install |
| [android-test/GUI-AUTOMATION-NOTES.md](./android-test/GUI-AUTOMATION-NOTES.md) | Android GUI automation |
| [CLI-AUTOMATION-NOTES.md](./CLI-AUTOMATION-NOTES.md) | wallet-cli automation issues |