Skip to content
CodeVetter docs
Esc
navigateopen⌘Jpreview
On this page

CI

What the GitHub Actions CI workflow checks and in what order.

CI

.github/workflows/ci.yml runs on every push and pull request.

Job: lint-and-typecheck (ubuntu-latest)

Steps, in order (a failure stops the job):

  1. actions/checkout@v6
  2. pnpm/action-setup@v4 + actions/setup-node@v6 (Node 22, pnpm cache)
  3. dtolnay/rust-toolchain@stable
  4. Install Tauri Linux deps (libwebkit2gtk-4.1-dev, libayatana-appindicator3-dev, librsvg2-dev, libxdo-dev)
  5. pnpm install --frozen-lockfile
  6. Lintpnpm run lint in apps/desktop (Biome)
  7. Type checkpnpm exec tsc --noEmit in apps/desktop
  8. Unit testspnpm run test:unit in apps/desktop
  9. Automation readiness testspnpm run test:automation at root (hermetic Foundry receipt sanitize tests; the live manifest verifier runs in release.yml as a post-upload check, not here)
  10. MCP sidecar build smokepnpm run prepare:mcp-sidecar
  11. Desktop buildpnpm run build (Vite production build)
  12. MCP protocol and safety testscargo test --manifest-path src-tauri/Cargo.toml mcp::
  13. MCP release-mode stdio lifecyclecargo test --release --manifest-path src-tauri/Cargo.toml --test mcp_stdio

Other workflows

Workflow Trigger Purpose Doc
auto-release.yml push to main on tauri.conf.json version bump cut v<version> release + dispatch release.yml release-pipeline.md
release.yml release.created or workflow_dispatch build/sign/upload Tauri binaries + latest.json release-pipeline.md
deploy-landing.yml workflow_dispatch (manual) deploy Astro site to Cloudflare Pages landing-deploy.md
weekly.yml cron 0 9 * * 1 (Mon 09:00 UTC) + workflow_dispatch lockfile-agnostic quality check (lint/typecheck/test/build if defined) jobs/weekly-quality.md
docs.yml push/PR doc link + structure validation ../development/docs.md

Local pre-commit / pre-push

  • pre-commit (.husky/pre-commit): lint-stagedbiome check --write on staged apps/desktop/src/**/*.{ts,tsx}.
  • pre-push (.husky/pre-push): npm run lint (root lint script, which runs Biome) + secret-pattern scan over tracked files. Exclusions are anchored to known dirs (benchmark/, apps/landing-page-astro/public/benchmark/, fixtures, secret_policy.rs).

Was this page helpful?