status(mailu): drone build #470 in flight — PR#3 + cc-ci test files all committed
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:
@ -8,24 +8,27 @@
|
|||||||
|
|
||||||
## Current state
|
## Current state
|
||||||
|
|
||||||
**Active work:** Bootstrapping — authoring recipe PR + cc-ci ops/test changes.
|
**Active work:** Drone build #470 running — full lifecycle at PR#3 head (edc0201a79d3).
|
||||||
|
|
||||||
**Gate M1:** NOT YET CLAIMED
|
**Gate M1:** NOT YET CLAIMED
|
||||||
|
|
||||||
**Gate M2:** NOT YET CLAIMED
|
**Gate M2:** NOT YET CLAIMED
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## DoD tracker (M1)
|
## DoD tracker (M1)
|
||||||
|
|
||||||
- [ ] Data-layout research documented (which volumes hold durable state, justification in PR desc)
|
- [x] Data-layout research documented (which volumes hold durable state, justification in PR desc)
|
||||||
- [ ] Recipe-mirror PR open with backupbot v2 labels (admin `/data` + imap `/mail`)
|
- [x] Recipe-mirror PR open with backupbot v2 labels (admin `/data` + imap `/mail`)
|
||||||
- [ ] Version label bumped in compose.yml
|
- PR#3: https://git.autonomic.zone/recipe-maintainers/mailu/pulls/3
|
||||||
- [ ] cc-ci: `tests/mailu/ops.py` with pre_backup (seed mailbox) + pre_restore (delete mailbox)
|
- Branch: `add-backupbot-labels` from `main` (3.0.1 → 3.0.2+2024.06.52)
|
||||||
- [ ] cc-ci: `tests/mailu/test_backup.py` asserting mailbox present at backup time
|
- Commit: edc0201a79d3 — adds deploy.labels backupbot.backup: "true" + backupbot.backup.path to admin + imap
|
||||||
- [ ] cc-ci: `tests/mailu/test_restore.py` asserting mailbox restored after restore
|
- [x] Version label bumped in compose.yml (3.0.1 → 3.0.2+2024.06.52)
|
||||||
- [ ] cc-ci: `tests/mailu/PARITY.md` updated (P4 now covered, not N/A)
|
- [x] cc-ci: `tests/mailu/ops.py` with pre_backup (seed mailbox) + pre_restore (delete mailbox)
|
||||||
|
- [x] cc-ci: `tests/mailu/test_backup.py` asserting mailbox present at backup time
|
||||||
|
- [x] cc-ci: `tests/mailu/test_restore.py` asserting mailbox restored after restore
|
||||||
|
- [x] cc-ci: `tests/mailu/PARITY.md` updated (P4 now covered, not N/A)
|
||||||
- [ ] Full lifecycle green at PR head (L5) including backup/restore rung — via drone `!testme`
|
- [ ] Full lifecycle green at PR head (L5) including backup/restore rung — via drone `!testme`
|
||||||
|
- **IN FLIGHT**: drone build #470 (started ~20:42Z)
|
||||||
- [ ] Before/after level recorded (was: L4 intentional skip → now: L5 earned)
|
- [ ] Before/after level recorded (was: L4 intentional skip → now: L5 earned)
|
||||||
|
|
||||||
## DoD tracker (M2)
|
## DoD tracker (M2)
|
||||||
@ -38,6 +41,38 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Verification recipe (for Adversary M1 check)
|
||||||
|
|
||||||
|
```
|
||||||
|
# 1. Verify backupbot v2 labels in compose.yml at PR head (edc0201a79d3)
|
||||||
|
curl -s "https://git.autonomic.zone/api/v1/repos/recipe-maintainers/mailu/contents/compose.yml?ref=add-backupbot-labels" \
|
||||||
|
-u "<bot>:<pass>" | python3 -c "import sys,json,base64; print(base64.b64decode(json.load(sys.stdin)['content']).decode())" \
|
||||||
|
| grep -A3 backupbot
|
||||||
|
# Expected: admin service: backupbot.backup: "true" + backupbot.backup.path: "/data"
|
||||||
|
# imap service: backupbot.backup: "true" + backupbot.backup.path: "/mail"
|
||||||
|
|
||||||
|
# 2. Verify version bump
|
||||||
|
# Expected: coop-cloud.${STACK_NAME}.version=3.0.2+2024.06.52
|
||||||
|
|
||||||
|
# 3. Verify drone build #470 level
|
||||||
|
curl -s "https://drone.ci.commoninternet.net/api/repos/recipe-maintainers/cc-ci/builds/470" \
|
||||||
|
-H "Authorization: Bearer <token>" | python3 -c "
|
||||||
|
import sys,json; b=json.load(sys.stdin)
|
||||||
|
print('status:', b['status'])
|
||||||
|
# look for 'level' in logs or build metadata
|
||||||
|
"
|
||||||
|
|
||||||
|
# 4. Verify ops.py deletes user correctly (data really wiped before restore):
|
||||||
|
# - build logs should show pre_restore hook running
|
||||||
|
# - test_restore.py PASS proves data came back from backup
|
||||||
|
|
||||||
|
# 5. Before/after levels:
|
||||||
|
# BEFORE (main): backup_capable=False → rung=intentional-skip (L4 max)
|
||||||
|
# AFTER (PR#3 head edc0201a): backup_capable=True → rung=PASS → L5 if all pass
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Blocked items
|
## Blocked items
|
||||||
|
|
||||||
(none)
|
(none)
|
||||||
|
|||||||
Reference in New Issue
Block a user