101 lines
4.1 KiB
Markdown
101 lines
4.1 KiB
Markdown
# JOURNAL — cc-ci mirror-enroll Builder
|
|
|
|
## 2026-06-02 — Phase startup + Phase 0
|
|
|
|
### Pre-flight survey
|
|
|
|
```bash
|
|
ssh cc-ci 'abra recipe fetch lasuite-drive' → WARN already fetched (exit 0)
|
|
ssh cc-ci 'abra recipe fetch mailu' → WARN already fetched (exit 0)
|
|
ssh cc-ci 'abra recipe fetch mumble' → WARN already fetched (exit 0)
|
|
```
|
|
|
|
Gitea mirror check (via API):
|
|
```
|
|
lasuite-drive: 404 mailu: 404 mumble: 404
|
|
bluesky-pds: 200 discourse: 200 ghost: 200 immich: 200 mattermost-lts: 200 plausible: 200
|
|
```
|
|
|
|
Upstream URLs confirmed from ~/.abra/recipes/<recipe>/.git/config:
|
|
- lasuite-drive: https://git.coopcloud.tech/coop-cloud/lasuite-drive.git
|
|
- mailu: https://git.coopcloud.tech/coop-cloud/mailu.git
|
|
- mumble: https://git.coopcloud.tech/coop-cloud/mumble.git
|
|
|
|
Adversary independent cold-probe in REVIEW-mirror.md confirms same results.
|
|
|
|
tests/ state: All 9 unenrolled recipes already have tests/<recipe>/. hedgedoc absent.
|
|
POLL_REPOS current: 11 entries (cc-ci + 10 enrolled recipes).
|
|
|
|
## 2026-06-02 — Phase 1: Create 3 missing mirrors
|
|
|
|
### Mirror creation via Gitea API + force-sync
|
|
```
|
|
POST /api/v1/orgs/recipe-maintainers/repos {name:"lasuite-drive",private:true} → HTTP 201 ✓
|
|
POST /api/v1/orgs/recipe-maintainers/repos {name:"mailu",private:true} → HTTP 201 ✓
|
|
POST /api/v1/orgs/recipe-maintainers/repos {name:"mumble",private:true} → HTTP 201 ✓
|
|
```
|
|
|
|
Force-synced upstream main → Gitea mirror main on cc-ci host:
|
|
```
|
|
lasuite-drive: upstream f4135d78 → git push --force gitea → [new branch] main ✓
|
|
mailu: upstream 23309a1a → git push --force gitea → [new branch] main ✓
|
|
mumble: upstream 9fa5e949 → git push --force gitea → [new branch] main ✓
|
|
```
|
|
|
|
Verification (Gitea API):
|
|
```
|
|
lasuite-drive: full_name=recipe-maintainers/lasuite-drive default_branch=main empty=false ✓
|
|
mailu: full_name=recipe-maintainers/mailu default_branch=main empty=false ✓
|
|
mumble: full_name=recipe-maintainers/mumble default_branch=main empty=false ✓
|
|
```
|
|
|
|
## 2026-06-02 — Phase 2: hedgedoc test suite
|
|
|
|
hedgedoc recipe analysis:
|
|
- Single-service Node.js app (quay.io/hedgedoc/hedgedoc:1.10.8), port 3000
|
|
- Default: sqlite (CMD_DB_URL=sqlite:/database/db.sqlite3), no compose.backup.yml
|
|
- backupbot.backup=true in compose labels; volumes: codimd_database, codimd_uploads
|
|
- HEALTH_PATH=/ with HEALTH_OK=(200,302): root redirects to /login or /new depending on config
|
|
|
|
Files created (uptime-kuma template):
|
|
- 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 markers in HTML)
|
|
- tests/hedgedoc/PARITY.md (scope documentation)
|
|
|
|
test_install.py/test_upgrade.py/ops.py deferred (generic tiers provide baseline coverage).
|
|
|
|
## 2026-06-02 — Phase 3: Enroll 9 unenrolled recipes in POLL_REPOS
|
|
|
|
Edited nix/modules/bridge.nix POLL_REPOS:
|
|
- Before: 11 entries (cc-ci + custom-html, custom-html-tiny, keycloak, cryptpad, matrix-synapse,
|
|
lasuite-docs, lasuite-meet, n8n, hedgedoc, uptime-kuma)
|
|
- After: 20 entries (+bluesky-pds, discourse, ghost, immich, lasuite-drive, mailu,
|
|
mattermost-lts, mumble, plausible)
|
|
|
|
All 9 newly enrolled recipes confirmed to have tests/<recipe>/ (Adversary-confirmed).
|
|
|
|
## 2026-06-02 — A-mirror-1 resolution: hedgedoc !testme post-authoring
|
|
|
|
Adversary filed A-mirror-1: hedgedoc tests authored but no post-authoring !testme run existed.
|
|
|
|
Action: posted !testme on hedgedoc PR#1 (comment 13926, 00:30:30Z) via Gitea API.
|
|
Bridge (task 9mtdhzx7eylf) picked up the comment, triggered Drone build #113 at 00:30:46Z.
|
|
|
|
Build #113 result:
|
|
```
|
|
number: 113
|
|
status: success
|
|
started: 2026-06-02T00:30:46Z
|
|
finished: 2026-06-02T00:32:07Z (81s runtime)
|
|
stages:
|
|
- recipe-ci: success
|
|
steps:
|
|
- clone: success
|
|
- ci: success
|
|
```
|
|
|
|
Both new test files (functional/test_health_check.py, functional/test_branding.py) were
|
|
present in cc-ci HEAD (commit 242d56b) when the build ran — this is the post-authoring
|
|
!testme run the plan required. Build URL: https://drone.ci.commoninternet.net/recipe-maintainers/cc-ci/113
|