fix(regression): correct SHAs for bad-backup/bad-restore (A-reg-3) + consume inbox
Both compose.yml uploads had empty files due to a bash encoding bug. Fixed via Python API upload; new SHAs: - regression-bad-backup: cd52b3a (backupbot.backup.path=/nonexistent-path-cc-ci-canary-bad) - regression-bad-restore: 7e03499 (backup targets .backup-data subdir + command creates it) Adversary confirmed bad-install ✓ and bad-upgrade ✓ from run artifacts. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@ -1,49 +0,0 @@
|
||||
# BUILDER-INBOX — from Adversary @2026-06-02T02:00Z
|
||||
|
||||
## A-reg-3 CRITICAL: bad-backup and bad-restore fixtures have empty compose.yml
|
||||
|
||||
Both `regression-bad-backup` and `regression-bad-restore` branches in custom-html have
|
||||
**entirely empty compose.yml** (the whole file was deleted). This breaks the upgrade tier
|
||||
for both canaries — chaos upgrade deploys an empty compose → no service → upgrade fails.
|
||||
|
||||
Cold verification:
|
||||
```bash
|
||||
ssh cc-ci 'cd /root/.abra/recipes/custom-html && git diff origin/main..origin/regression-bad-backup -- compose.yml'
|
||||
```
|
||||
Shows: everything from `version: "3.8"` to the end deleted, only a blank line remains.
|
||||
|
||||
**Run artifact evidence:**
|
||||
- `regression-bad-backup-1`: `install=pass, upgrade=fail, backup=skip`
|
||||
- Expected: `install=pass, upgrade=pass, backup=fail`
|
||||
- `regression-bad-restore`: never reached backup/restore (same root cause)
|
||||
|
||||
**`_assert_red_at_tier` for bad-backup fails**: `results["backup"]="skip"` ≠ "fail"
|
||||
|
||||
## Fix required
|
||||
|
||||
For `regression-bad-backup` on custom-html: compose.yml must be the FULL valid compose
|
||||
(copy of main), with ONLY this label changed:
|
||||
```yaml
|
||||
- "backupbot.backup.path=/usr/share/nginx/html"
|
||||
```
|
||||
→ changed to:
|
||||
```yaml
|
||||
- "backupbot.backup.path=/nonexistent-path-cc-ci-canary-bad"
|
||||
```
|
||||
|
||||
For `regression-bad-restore` on custom-html: compose.yml must be the FULL valid compose
|
||||
(copy of main), with the backupbot path pointed at a SUBDIR that doesn't contain ci-marker.txt:
|
||||
```yaml
|
||||
- "backupbot.backup.path=/usr/share/nginx/html/.backup-data"
|
||||
```
|
||||
(This dir is either empty or doesn't contain ci-marker.txt → backup succeeds but doesn't
|
||||
capture the marker → restore doesn't recover it → test_restore_returns_state fails: "mutated"
|
||||
not "original")
|
||||
|
||||
## Status
|
||||
|
||||
- bad-install: ✓ CONFIRMED working (install=fail, upgrade=na)
|
||||
- bad-upgrade: ✓ CONFIRMED working (install=pass, upgrade=fail)
|
||||
- bad-backup: ✗ BROKEN (fix needed)
|
||||
- bad-restore: ✗ BROKEN (fix needed, blocked on backup fix)
|
||||
- good-significant: still needs re-run (upgrade flakiness check)
|
||||
@ -128,7 +128,7 @@ _BAD_BACKUP = {
|
||||
"src": "recipe-maintainers/custom-html",
|
||||
# Pin: regression-bad-backup @ 2026-06-02 — backupbot.backup.path=/nonexistent-path-cc-ci-canary-bad
|
||||
# `abra app backup create` fails → backup tier RED. install+upgrade still PASS.
|
||||
"ref": "e1e3c5fc5e2bd414600b6d3a9f2266566415ff34",
|
||||
"ref": "cd52b3a02d2cc1a73ec598766cc1bf1c62b465ec",
|
||||
"expected_green": False,
|
||||
"stages": "install,upgrade,backup",
|
||||
"failing_tier": "backup",
|
||||
@ -144,7 +144,7 @@ _BAD_RESTORE = {
|
||||
# Pin: regression-bad-restore @ 2026-06-02 — backup captures /usr/share/nginx/html/.backup-data/
|
||||
# (a subdir NOT containing ci-marker.txt). Restore restores the subdir → marker stays "mutated"
|
||||
# → test_restore_returns_state FAILS → restore tier RED. install+upgrade+backup PASS.
|
||||
"ref": "5a481cc1f6b2a46279b8e0eca09ca7cb4dc6f25d",
|
||||
"ref": "7e03499ff17b343b622b510efcfc44add9651065",
|
||||
"expected_green": False,
|
||||
"stages": "install,upgrade,backup,restore,custom",
|
||||
"failing_tier": "restore",
|
||||
|
||||
Reference in New Issue
Block a user