M6 (part 1): per-recipe meta + D4 recipe-local discovery + shared naming helper
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Recipe-agnostic harness (no surgery to enroll a recipe): recipe_meta.py for health path/codes/timeouts; run_recipe_local discovers + runs recipe-shipped tests/ against the live app. install non-regressed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
20
JOURNAL.md
20
JOURNAL.md
@ -389,3 +389,23 @@ task briefly holds the volume), (4) **verifies** no residual services/volumes/se
|
||||
- Full 3-stage run (install/upgrade/backup) still green with verified teardown, no TeardownError.
|
||||
|
||||
A2/A3 fixed; left for the Adversary to re-test + close.
|
||||
|
||||
## 2026-05-27 — M6 (part 1): harness enhancements for recipe #2 + D4 discovery
|
||||
|
||||
Before enrolling recipe #2, made the shared harness recipe-agnostic so enrolling a recipe needs no
|
||||
harness-code change (D5):
|
||||
- **Per-recipe meta** (`tests/<recipe>/recipe_meta.py`, optional): HEALTH_PATH, HEALTH_OK,
|
||||
DEPLOY_TIMEOUT, HTTP_TIMEOUT. conftest reads it; `wait_healthy` gained a `path` param (e.g.
|
||||
keycloak `/realms/master`). Defaults preserve custom-html behaviour (verified: install still green).
|
||||
- **Shared naming** (`harness/naming.py`): single source for the `<recipe[:4]>-<6hex>` domain, used
|
||||
by conftest + the orchestrator.
|
||||
- **D4 recipe-local discovery** (`run_recipe_ci.run_recipe_local`): if a recipe ships `tests/` with
|
||||
`test_*.py`, deploy the app, run those tests against the LIVE deployment (contract: env
|
||||
`CCCI_BASE_URL` + `CCCI_APP_DOMAIN`), merge as another reported stage, guaranteed teardown. Real
|
||||
recipes ship tests/ committed in their repo (clean checkout) → discovered on clone/fetch. (custom-
|
||||
html via catalogue is an awkward case — abra refuses an unstaged recipe and `abra recipe fetch`
|
||||
resets local commits — so D4 is demonstrated end-to-end with recipe #2 hedgedoc, which ships
|
||||
committed tests/.)
|
||||
|
||||
**Next:** mirror hedgedoc (postgres+hedgedoc, DB-backed) via the mirror+PR flow with a committed
|
||||
tests/ dir, write tests/hedgedoc/ (install/upgrade/backup + recipe_meta), run all stages + D4 green.
|
||||
|
||||
Reference in New Issue
Block a user