65 lines
3.6 KiB
Markdown
65 lines
3.6 KiB
Markdown
# STATUS — cc-ci mirror-enroll Builder
|
|
|
|
**Phase:** mirror + enroll ALL recipes
|
|
**SSOT:** `/srv/cc-ci/cc-ci-plan/plan-mirror-enroll-all-recipes.md`
|
|
**Started:** 2026-06-02
|
|
|
|
## Current state
|
|
|
|
### Phase 0 — Pre-flight ✓ COMPLETE
|
|
- abra recipe fetch: lasuite-drive, mailu, mumble all exit 0 (already fetched on cc-ci)
|
|
- Gitea: lasuite-drive=404, mailu=404, mumble=404 (mirrors absent — to create)
|
|
- Gitea: bluesky-pds, discourse, ghost, immich, mattermost-lts, plausible = 200 (mirrors exist)
|
|
- POLL_REPOS (bridge.nix): 11 entries; 9 unenrolled recipes absent
|
|
- tests/: all 9 unenrolled recipes have tests/<recipe>/ already (Adversary-confirmed)
|
|
- hedgedoc: NO tests/hedgedoc/ (plan Phase 2 must author)
|
|
|
|
### Phase 1 — Create 3 missing mirrors ✓ COMPLETE
|
|
- lasuite-drive: created (HTTP 201), main synced to f4135d78 (upstream) ✓
|
|
- mailu: created (HTTP 201), main synced to 23309a1a (upstream) ✓
|
|
- mumble: created (HTTP 201), main synced to 9fa5e949 (upstream) ✓
|
|
- Verified: all 3 return HTTP 200 from Gitea API, empty=false ✓
|
|
- Method: Gitea API POST /orgs/recipe-maintainers/repos + git push --force gitea main on cc-ci
|
|
|
|
### Phase 2 — hedgedoc test suite ✓ COMPLETE
|
|
- tests/hedgedoc/recipe_meta.py (HEALTH_PATH=/, HEALTH_OK=(200,302), DEPLOY_TIMEOUT=600) ✓
|
|
- tests/hedgedoc/functional/test_health_check.py (GET / → 200 or 302) ✓
|
|
- tests/hedgedoc/functional/test_branding.py (hedgedoc/codimd/hackmd brand markers in HTML) ✓
|
|
- tests/hedgedoc/PARITY.md (documents scope + deferred items) ✓
|
|
- NOTE: test_install.py/test_upgrade.py/ops.py deferred (generic tiers cover baseline)
|
|
|
|
### Phase 3 — Enroll 9 unenrolled recipes ✓ COMPLETE
|
|
- nix/modules/bridge.nix POLL_REPOS updated: added bluesky-pds,discourse,ghost,immich,
|
|
lasuite-drive,mailu,mattermost-lts,mumble,plausible (9 new entries → 20 total)
|
|
- Final POLL_REPOS: cc-ci + 19 recipes (all enrolled recipes + all 9 previously unenrolled)
|
|
|
|
### A-mirror-1 — hedgedoc !testme post-authoring — CLOSED ✓ (Adversary @00:50Z)
|
|
- Build #113 PASS: install+upgrade+backup+restore+custom (test_health_check+test_branding) all green
|
|
- Adversary verified: cc-ci/testme state=success; clean_teardown=true; no_secret_leak=true
|
|
- A-mirror-1 closed in BACKLOG-mirror.md by Adversary @00:50Z
|
|
|
|
### Phase 4 — Deploy — OPERATOR GATE CLAIMED (awaiting Adversary + operator)
|
|
|
|
**Gate: Ph4 CLAIMED — Adversary PASS @00:50Z; awaiting operator deploy**
|
|
|
|
**WHAT:** Phases 1-3 complete. Bridge config updated with 20 POLL_REPOS. Mirrors for
|
|
lasuite-drive, mailu, mumble created + synced. hedgedoc tests authored. Adversary must verify
|
|
Ph1 mirrors + Ph3 POLL_REPOS change before operator deploys.
|
|
|
|
**HOW to verify (Adversary):**
|
|
- Ph1 mirrors: `curl -s -u <bot> https://git.autonomic.zone/api/v1/repos/recipe-maintainers/<r>` for lasuite-drive, mailu, mumble → HTTP 200 + empty=false + default_branch=main
|
|
- Ph2 tests: `ls tests/hedgedoc/` → recipe_meta.py, PARITY.md, functional/ present; `ls tests/hedgedoc/functional/` → test_health_check.py, test_branding.py present
|
|
- Ph3 POLL_REPOS: `grep POLL_REPOS nix/modules/bridge.nix` → contains all 20 repos (cc-ci + 19 recipes including the 9 new ones)
|
|
- Repro: `git clone https://git.autonomic.zone/recipe-maintainers/cc-ci && grep POLL_REPOS nix/modules/bridge.nix`
|
|
|
|
**EXPECTED:** Adversary verifies all 3 checks PASS. Then operator runs:
|
|
```
|
|
ssh cc-ci 'cd /root/cc-ci && git pull --rebase && nixos-rebuild switch --flake .#cc-ci'
|
|
```
|
|
(or via the repo's nixos-rebuild switch --flake path:/root/builder-clone#cc-ci path once synced)
|
|
|
|
**WHERE:** commit containing this STATUS update (git log --oneline -1 on main)
|
|
|
|
## Blocked
|
|
- (none)
|