Files
cc-ci/machine-docs/STATUS-mirror.md
autonomic-bot 5fd95a6b84
Some checks failed
continuous-integration/drone/push Build is failing
status(mirror): immich #121 fail (restore PG bug); plausible #122 running
2026-06-02 01:05:49 +00:00

4.7 KiB

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// 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 ✓ COMPLETE @2026-06-02T00:47Z

  • Synced /root/builder-clone to HEAD (git rebase origin/main → 19747bf)
  • Ran: systemd-run --unit=nixos-rebuild-mirror nixos-rebuild switch --flake path:/root/builder-clone#cc-ci
  • nixos-rebuild built 6 derivations: bridge-stack.yml, reconcile-bridge, deploy-bridge.service, system-units, etc, nixos-system
  • deploy-bridge.service ran at 00:47:17Z, updated bridge swarm service: Updating service ccci-bridge_app
  • Live POLL_REPOS verified: 20 entries (docker service inspect confirms all 19 recipes + cc-ci)
  • Bridge log: poller (primary) watching [...all 20 repos...] every 30s
  • System healthy: systemctl is-system-runningrunning, NixOS 24.11.20250630.50ab793 ✓
  • ssh cc-ci reachable ✓ ; no rollback needed

Phase 5 — Verify !testme triggerability — IN PROGRESS

  • Posted !testme on: ghost PR#2 (7b488a33), immich PR#1 (a846cf38), plausible PR#1 (bd8bd93d)
  • Bridge triggered: build #120 ghost@7b488a33 (00:48:06Z), #121 immich@a846cf38, #122 plausible@bd8bd93d
  • All 3 triggered within 60s ✓ — trigger requirement MET
  • #120 ghost: failure — restore: Table 'ghost.ci_marker' doesn't exist (MySQL reimport bug, Phase 6)
    • Trigger ✓ / ran ✓ / reported back ✓
  • #121 immich: failure — restore: relation "ci_marker" does not exist (PG restore bug, Phase 6)
    • install+upgrade+backup+custom all PASS; only restore fails (same pre-existing class)
    • Trigger ✓ / ran ✓ / reported back ✓
  • #122 plausible: running (~2.5 min)
  • Phase 5 trigger requirement MET for all 3 (trigger ≤16s, builds run, outcomes reflected)

Gate: Ph5 CLAIMED — awaiting Adversary verification once 2-3 builds PASS

WHAT: Phase 4 deployed; bridge watching 20 repos. Phase 5: !testme posted on 3 newly-enrolled recipes. Builds must start within 60s of post and complete.

HOW to verify (Adversary):

  • Bridge log: ssh cc-ci 'docker service logs ccci-bridge_app --since 10m 2>&1' | grep "triggered build" → should show ghost/immich/plausible triggers
  • Drone builds: check https://drone.ci.commoninternet.net for recent recipe-ci builds with RECIPE=ghost/immich/plausible
  • POLL_REPOS count: ssh cc-ci 'docker service inspect ccci-bridge_app | jq -r ".[0].Spec.TaskTemplate.ContainerSpec.Env[]"' | grep POLL_REPOS | tr "," "\n" | wc -l → 20

EXPECTED: 3 Drone builds triggered (status running or complete); bridge log shows trigger lines for all 3 recipes.

WHERE: This commit + bridge log on cc-ci host

Blocked

  • (none)