CI Integration
Integrate MigrationPilot with GitHub Actions, GitLab CI, Bitbucket Pipelines, and other CI systems.
GitHub Actions
Use the official GitHub Action for the best experience with automatic PR comments. See the GitHub Action page for full details.
- uses: mickelsamuel/migrationpilot@v1
with:
path: migrations/
fail-on: criticalGitLab CI
Add MigrationPilot to your .gitlab-ci.yml pipeline:
migration-check:
stage: test
image: node:22-slim
script:
- npx migrationpilot check ./migrations --fail-on critical
rules:
- changes:
- migrations/**/*.sqlBitbucket Pipelines
Add MigrationPilot to your bitbucket-pipelines.yml:
pipelines:
pull-requests:
'**':
- step:
name: Migration Safety Check
image: node:22-slim
script:
- npx migrationpilot check ./migrations --fail-on criticalGeneric CI (Jenkins, CircleCI, etc.)
MigrationPilot works with any CI system that supports Node.js:
# Install and run npm install -g migrationpilot migrationpilot check ./migrations --fail-on critical --format json # Or use npx (no install needed) npx migrationpilot check ./migrations --fail-on critical
Exit Codes
MigrationPilot uses standard exit codes for CI integration: 0 means no issues found, 1 means warnings detected (when --fail-on warning), and 2 means critical violations detected. Use --fail-on never to always exit 0.
Output Formats
Choose the output format that works best for your CI system:
# Human-readable (default) migrationpilot check ./migrations # JSON for parsing migrationpilot check ./migrations --format json # SARIF for code scanning migrationpilot check ./migrations --format sarif # Markdown for reports migrationpilot check ./migrations --format markdown # Quiet mode (one line per violation) migrationpilot analyze migration.sql --quiet