status(5): record seeded custom-html V5/V6 flow
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
@ -421,3 +421,80 @@ Conclusion:
|
||||
failed. This points to a true recipe upgrade regression, not a stale cc-ci test.
|
||||
|
||||
Next: move to the next enrolled V5/V6 candidate (`n8n`, then `lasuite-docs`, then `keycloak`).
|
||||
|
||||
## 2026-06-01 — Operator-directed seeded stale-test case: custom-html
|
||||
|
||||
Per operator direction, I stopped searching for a naturally occurring stale-test recipe and switched to a
|
||||
deliberately seeded sandbox case.
|
||||
|
||||
Seeded recipe PR used:
|
||||
- `https://git.autonomic.zone/recipe-maintainers/custom-html/pulls/3`
|
||||
- branch `v5-stale-docroot`
|
||||
|
||||
I first inspected the pre-existing PR state and found the earlier docroot-move attempt was too broad:
|
||||
it broke backup/restore/custom for real, so it was not a clean stale-test simulation.
|
||||
|
||||
Re-seeded the same sandbox PR into a narrower stale-test case on the host recipe checkout:
|
||||
- kept the real upgrade crossover (`1.10.0+1.28.0 -> 1.11.2+1.29.0`)
|
||||
- reverted the volume/docroot move
|
||||
- added a specific nginx location override for `*.txt`:
|
||||
- keep `.html` as normal `text/html`
|
||||
- force `.txt` to `application/octet-stream`
|
||||
- final seed commit on the recipe PR branch:
|
||||
- `71e7326 fix: force octet-stream for seeded txt files`
|
||||
|
||||
DEFAULT / V5 real-path evidence:
|
||||
- Trigger:
|
||||
- `POST=1 MAX_WAIT=90 INTERVAL=5 /srv/cc-ci-orch/.claude/skills/recipe-upgrade/testme-on-pr.sh custom-html 3`
|
||||
-> `VERDICT=RED`
|
||||
-> `BUILD=https://drone.ci.commoninternet.net/recipe-maintainers/cc-ci/75`
|
||||
- Poll-only re-check:
|
||||
- `POST=0 MAX_WAIT=20 INTERVAL=5 /srv/cc-ci-orch/.claude/skills/recipe-upgrade/testme-on-pr.sh custom-html 3`
|
||||
-> `VERDICT=RED`
|
||||
-> `BUILD=https://drone.ci.commoninternet.net/recipe-maintainers/cc-ci/75`
|
||||
- Authenticated Drone log inspection for build `#75`:
|
||||
- install PASS
|
||||
- upgrade PASS
|
||||
- backup PASS
|
||||
- restore PASS
|
||||
- custom FAIL only
|
||||
- exact failing assertion:
|
||||
`tests/custom-html/functional/test_content_type_header.py`
|
||||
expected `.txt` `Content-Type` to start with `text/plain`, got `application/octet-stream`
|
||||
- DEFAULT-mode explanatory recipe PR comment posted with NO cc-ci test edit:
|
||||
- `https://git.autonomic.zone/recipe-maintainers/custom-html/pulls/3#issuecomment-13883`
|
||||
- comment explains the seeded sandbox MIME change and tells the operator to re-run
|
||||
`/recipe-upgrade custom-html --with-tests`
|
||||
|
||||
`--with-tests` / V6 real-path evidence:
|
||||
- Created a fresh dedicated cc-ci clone:
|
||||
- `/tmp/opencode/cc-ci-v6-custom-mime`
|
||||
- Created the minimal paired branch:
|
||||
- branch: `v6-custom-html-mime`
|
||||
- commit: `826daec fix(tests): accept seeded custom-html txt mime`
|
||||
- remote branch: `origin/v6-custom-html-mime`
|
||||
- Scope of the test PR branch:
|
||||
- only `tests/custom-html/functional/test_content_type_header.py` changed
|
||||
- `.txt` now expects `application/octet-stream` for the seeded sandbox case
|
||||
- Opened paired cc-ci PR:
|
||||
- `https://git.autonomic.zone/recipe-maintainers/cc-ci/pulls/3`
|
||||
- Materialized isolated host checkout:
|
||||
- `/root/cc-ci-v6-custom-mime`
|
||||
- Cold branch-checkout verification on cc-ci:
|
||||
- `REMOTE_ROOT=/root/cc-ci-v6-custom-mime RECIPE=custom-html REF=v5-stale-docroot /srv/cc-ci-orch/.claude/skills/ci-test-review/verify-pr.sh`
|
||||
- result:
|
||||
`VERDICT: GREEN — custom-html PR (REF=v5-stale-docroot) passed cold full-suite x1. Ready for operator merge (NOT merged).`
|
||||
- host log:
|
||||
`cc-ci:/root/cc-ci-review-logs/verify-custom-html-20260601T200544Z.1.log`
|
||||
|
||||
Pairing notes posted:
|
||||
- recipe PR note:
|
||||
`https://git.autonomic.zone/recipe-maintainers/custom-html/pulls/3#issuecomment-13894`
|
||||
- cc-ci PR note:
|
||||
`https://git.autonomic.zone/recipe-maintainers/cc-ci/pulls/3#issuecomment-13896`
|
||||
|
||||
Conclusion:
|
||||
- The operator-directed seeded stale-test case is now fully exercised:
|
||||
- DEFAULT mode leaves an explanatory recipe-PR comment and makes no cc-ci test edit
|
||||
- `--with-tests` opens a paired cc-ci test PR and the branch-checkout verification is GREEN
|
||||
- Next phase work is V8 `/upgrade-all`, V8a `cc-ci-upgrader`, then V9 cleanup/closeout.
|
||||
|
||||
@ -6,9 +6,9 @@
|
||||
|
||||
## Current focus
|
||||
|
||||
V5 next: continue searching for a genuine stale-test case on an enrolled sandbox recipe. `lasuite-meet`
|
||||
is now enrolled and its upgrade PR is GREEN after a minimal harness fix, so it does not provide the V5
|
||||
stale-test branch either.
|
||||
Per operator direction, V5/V6 now use a deliberately seeded stale-test sandbox case rather than waiting
|
||||
for a naturally occurring one. The active seeded pair is `custom-html` recipe PR `#3` plus cc-ci test
|
||||
PR `#3`. Next: carry that evidence into the remaining V8, V8a, and V9 work.
|
||||
|
||||
## Fixes applied (A5-1, A5-2, related)
|
||||
|
||||
@ -74,8 +74,8 @@ preferred, `/root/cc-ci` fallback) instead of hard-coding `/root/cc-ci`.
|
||||
| V2 — testme-on-pr.sh reads verdict | DONE | GREEN ✓ (build #29/#35); RED ✓ (build #34); rerun fix ✓ (build #43) |
|
||||
| V3 — /recipe-upgrade sandbox GREEN | DONE | custom-html-tiny PR#2; build #29 SUCCESS |
|
||||
| V4 — 3-iter regression loop | DONE | custom-html-tiny PR#5; build #34 RED, build #37 GREEN |
|
||||
| V5 — stale-test DEFAULT = comment | IN PROGRESS | matrix-synapse default-mode comment posted, but later invalidated as a likely real regression; next candidate pending |
|
||||
| V6 — --with-tests opens+verifies cc-ci test PR | TODO | matrix-synapse branch invalidated by real regression; next candidate pending |
|
||||
| V5 — stale-test DEFAULT = comment | DONE | seeded custom-html PR#3, build #75 RED only on stale txt MIME assertion; explanatory comment posted; no test edits |
|
||||
| V6 — --with-tests opens+verifies cc-ci test PR | DONE | paired cc-ci PR#3 opened; cold branch-checkout verify GREEN against custom-html PR#3 |
|
||||
| V7 — mirror reconciliation | DONE | PR#1 superseded, PR#4 merged-upstream, main=upstream ✓ |
|
||||
| V8 — /upgrade-all DEFAULT run | TODO | |
|
||||
| V8a — cc-ci-upgrader agent | TODO | |
|
||||
@ -134,11 +134,37 @@ preferred, `/root/cc-ci` fallback) instead of hard-coding `/root/cc-ci`.
|
||||
app still fails the real post-upgrade assertion: the pre-upgrade Matrix user cannot log in after the
|
||||
upgrade (`HTTP 403 Invalid username or password`). That points to a true recipe upgrade regression,
|
||||
not a stale test.
|
||||
- Seeded Phase-5 sandbox stale-test case (operator-directed simulation):
|
||||
- Recipe PR: `https://git.autonomic.zone/recipe-maintainers/custom-html/pulls/3`
|
||||
- branch: `v5-stale-docroot`, head `71e7326a`
|
||||
- seeded behavior: `.txt` files are intentionally served as `application/octet-stream` while the
|
||||
app remains externally healthy and lifecycle tiers still pass.
|
||||
- DEFAULT/V5 evidence:
|
||||
- `POST=1 ... testme-on-pr.sh custom-html 3` -> build `#75`
|
||||
- `POST=0 ... testme-on-pr.sh custom-html 3` ->
|
||||
`VERDICT=RED BUILD=https://drone.ci.commoninternet.net/recipe-maintainers/cc-ci/75`
|
||||
- build `#75` summary: install PASS, upgrade PASS, backup PASS, restore PASS, only custom FAIL
|
||||
- exact failing stale assertion: `tests/custom-html/functional/test_content_type_header.py`
|
||||
expected `.txt` `Content-Type` to start with `text/plain`, but got `application/octet-stream`
|
||||
- explanatory recipe-PR comment with no cc-ci test edit:
|
||||
`https://git.autonomic.zone/recipe-maintainers/custom-html/pulls/3#issuecomment-13883`
|
||||
- `--with-tests`/V6 evidence:
|
||||
- paired cc-ci branch: `origin/v6-custom-html-mime` @ `826daec`
|
||||
- paired cc-ci PR: `https://git.autonomic.zone/recipe-maintainers/cc-ci/pulls/3`
|
||||
- minimal test change: only `tests/custom-html/functional/test_content_type_header.py` updated so
|
||||
the seeded sandbox `.txt` response expects `application/octet-stream`
|
||||
- cold branch-checkout verification on cc-ci:
|
||||
`REMOTE_ROOT=/root/cc-ci-v6-custom-mime RECIPE=custom-html REF=v5-stale-docroot /srv/cc-ci-orch/.claude/skills/ci-test-review/verify-pr.sh`
|
||||
- expected/observed result:
|
||||
`VERDICT: GREEN — custom-html PR (REF=v5-stale-docroot) passed cold full-suite x1. Ready for operator merge (NOT merged).`
|
||||
Host log: `cc-ci:/root/cc-ci-review-logs/verify-custom-html-20260601T200544Z.1.log`
|
||||
- cross-link comments posted:
|
||||
- recipe PR note: `https://git.autonomic.zone/recipe-maintainers/custom-html/pulls/3#issuecomment-13894`
|
||||
- cc-ci PR note: `https://git.autonomic.zone/recipe-maintainers/cc-ci/pulls/3#issuecomment-13896`
|
||||
|
||||
## Verification next step
|
||||
|
||||
- Move to the next enrolled candidate for V5/V6. Current shortlist: `n8n` first, then `lasuite-docs`,
|
||||
then `keycloak`.
|
||||
- With seeded V5/V6 now exercised, move on to V8 `/upgrade-all`, V8a `cc-ci-upgrader`, and V9 cleanup.
|
||||
|
||||
## Phase 5 gates
|
||||
|
||||
|
||||
Reference in New Issue
Block a user