ExfilGuardian
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 typecheck

Dependency Management

Rust

  • Pin major versions in Cargo.toml (e.g., tokio = "1")
  • Run cargo update periodically for patch updates
  • Run cargo audit for vulnerability scanning
  • Cargo.lock is committed for reproducible builds

Frontend (Bun)

  • Use ^ semver ranges in package.json
  • bun.lock is committed for reproducible builds
  • Electron requires trustedDependencies for postinstall scripts

Security

  • Never commit .env, credentials, or API keys
  • Electron contextIsolation must always be true
  • Electron nodeIntegration must always be false
  • All user input must be validated at API boundaries

On this page