CI/CD
CI/CD
Continuous integration, deployment, and quality gates
Overview
The CI/CD pipeline ensures code quality at every stage: lint, build, test, and package.
Local Pre-Commit Checklist
Before pushing, run:
# Rust
cargo fmt --all
cargo clippy --workspace -- -D warnings
cargo test --workspace
# Frontend
cd desktop
bun run check:fix
bun run typecheckDependency Management
Rust
- Pin major versions in
Cargo.toml(e.g.,tokio = "1") - Run
cargo updateperiodically for patch updates - Run
cargo auditfor vulnerability scanning Cargo.lockis committed for reproducible builds
Frontend (Bun)
- Use
^semver ranges inpackage.json bun.lockis committed for reproducible builds- Electron requires
trustedDependenciesfor postinstall scripts
Security
- Never commit
.env, credentials, or API keys - Electron
contextIsolationmust always betrue - Electron
nodeIntegrationmust always befalse - All user input must be validated at API boundaries