Works with Any CI
Basic CI command
# Run drift check in CI mode
npx @buoy-design/cli drift check --ci
# Exit codes:
# 0 = No critical drift
# 1 = Critical drift found (blocks merge)
# 2 = Error running scan GitHub Actions
npx @buoy-design/cli drift check --ci GitLab CI
npx @buoy-design/cli drift check --ci --format json CircleCI
npx @buoy-design/cli drift check --ci --fail-on warning Jenkins
npx @buoy-design/cli drift check --ci Azure Pipelines
npx @buoy-design/cli drift check --ci Bitbucket Pipelines
npx @buoy-design/cli drift check --ci Output Formats
CLI (default)
Human-readable output for terminal
--format cli JSON
Machine-readable for custom integrations
--format json JUnit XML
For CI systems that parse JUnit reports
--format junit SARIF
For GitHub Code Scanning
--format sarif Failure Thresholds
Configure when to fail
# Fail on any critical issues (recommended)
npx @buoy-design/cli drift check --ci --fail-on critical
# Fail on warnings too (stricter)
npx @buoy-design/cli drift check --ci --fail-on warning
# Never fail, just report (audit mode)
npx @buoy-design/cli drift check --ci --fail-on none
# Custom thresholds
npx @buoy-design/cli drift check --ci \
--max-critical 0 \
--max-warning 10 \
--max-info 50 Full GitHub Actions Example
.github/workflows/design-drift.yml
name: Design Drift Check
on:
pull_request:
branches: [main]
jobs:
drift-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm ci
- name: Run Buoy drift check
run: npx @buoy-design/cli drift check --ci --fail-on critical
- name: Upload SARIF (optional)
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: buoy-results.sarif