feat: add E2E smoke test script and CI/CD pipeline plan

- Create scripts/smoke-test.sh for live server verification (7 checks)
- Document planned GitHub Actions CI/CD pipeline in docs/ci-cd-plan.md
- Integration tests deferred to future task (require test harness setup)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-21 03:08:00 +00:00
parent 23d67c0672
commit b2bb5f319e
2 changed files with 123 additions and 0 deletions

37
docs/ci-cd-plan.md Normal file
View File

@@ -0,0 +1,37 @@
# CI/CD Pipeline Plan
## CI Workflow (on push to main + PRs)
### Jobs
1. **Rust checks**
- `cargo clippy --all-targets --all-features` (zero warnings)
- `cargo fmt --all -- --check`
- `cargo test --all-features`
2. **Frontend checks**
- `npm run type-check` (vue-tsc)
- `npm run lint` (eslint)
- `npm test` (vitest)
3. **Script validation**
- `bash -n` on all .sh files
- `shellcheck` on critical scripts
### Merge policy
All checks must pass before merge.
## Release Workflow (on tag push v*)
### Jobs
1. Build Linux binary (cross-compile x86_64 + ARM64)
2. Build frontend (`npm run build`)
3. ISO build via SSH to build server
4. QEMU smoke test of ISO
## Pre-requisites
- GitHub Actions runners with Rust toolchain
- SSH key for build server access
- Branch protection on main
- Image digest manifest from `scripts/image-versions.sh`
## Estimated implementation: 2 weeks