- 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>
38 lines
907 B
Markdown
38 lines
907 B
Markdown
# 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
|