34 lines
1.3 KiB
Markdown
34 lines
1.3 KiB
Markdown
# F1 — update.sh Optimization Verification
|
|
Date: 2026-05-27
|
|
Plan: .sisyphus/plans/optimize-update-sh.md
|
|
|
|
## Scenario Test Results
|
|
|
|
### S1: First run (no state file) ✅
|
|
- Trigger: `rm -f .update-state && bash update.sh`
|
|
- Detection: "First run (no state file found). Full cycle required."
|
|
- Behavior: docker compose down → docker compose build → docker compose up -d
|
|
- Exit: 124 (timed out due to swag init, expected — logic confirmed)
|
|
|
|
### S2: Second run — skip when no changes ✅
|
|
- Trigger: Create state hash matching exact script logic, then `bash update.sh`
|
|
- Detection: "No changes detected. Skipping build and restart."
|
|
- Behavior: No docker commands executed
|
|
- Exit: 0 (immediate, ~2s)
|
|
|
|
### S3: --force flag rebuild ✅
|
|
- Trigger: `bash update.sh --force`
|
|
- Detection: "--force flag detected. Will rebuild."
|
|
- Behavior: docker compose down → build
|
|
- Exit: 124 (timed out, expected — logic confirmed)
|
|
|
|
### S4: Env change detected ✅
|
|
- Trigger: `echo "# test" >> .env` then `bash update.sh`
|
|
- Detection: "State hash changed. Rebuilding."
|
|
- Behavior: docker compose down → build (prev .env restored after test)
|
|
- Exit: 124 (timed out, expected — logic confirmed)
|
|
|
|
## State File Persistence
|
|
- After skip: .update-state exists with correct hash
|
|
- Hash: 511f1feda11087c088e53601c32ce61be5a15554bf576275b2364ad543d9cfc9
|