CI Integration
Integrate Certyn in GitHub Actions and generic CI pipelines with CLI-first examples.
Use the CLI as the canonical CI integration surface:
certyn run smoke --project <project-slug> --environment <environment-key>
GitHub Actions with certyn/action
name: Certyn PR Smoke Gate
on:
pull_request:
jobs:
certyn:
runs-on: ubuntu-latest
steps:
- name: Run Certyn
id: certyn
uses: certyn/action@v1
with:
api_url: ${{ vars.CERTYN_API_URL || 'https://api.certyn.io' }}
api_key: ${{ secrets.CERTYN_API_KEY }}
project_slug: ${{ secrets.CERTYN_PROJECT_SLUG }}
environment_key: ${{ vars.CERTYN_ENVIRONMENT_KEY || 'staging' }}
process_slug: smoke-suite
timeout_seconds: 1800
wait_for_completion: true
- name: Summary
if: always()
run: |
echo "run_id=${{ steps.certyn.outputs.run_id }}"
echo "status_url=${{ steps.certyn.outputs.status_url }}"
echo "app_url=${{ steps.certyn.outputs.app_url }}"
echo "failed=${{ steps.certyn.outputs.failed }}"
echo "blocked=${{ steps.certyn.outputs.blocked }}"
GitHub Actions with direct CLI
name: Certyn Direct CLI
on:
workflow_dispatch:
jobs:
certyn:
runs-on: ubuntu-latest
steps:
- name: Install certyn CLI
run: |
curl -fsSL https://certyn.io/install | bash -s -- --version v0.1.0
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Run smoke gate
env:
CERTYN_API_URL: ${{ vars.CERTYN_API_URL || 'https://api.certyn.io' }}
CERTYN_API_KEY: ${{ secrets.CERTYN_API_KEY }}
CERTYN_PROJECT: ${{ secrets.CERTYN_PROJECT_SLUG }}
CERTYN_ENVIRONMENT: ${{ vars.CERTYN_ENVIRONMENT_KEY || 'staging' }}
run: |
certyn run smoke --timeout 30m
Other CI systems
Use the same direct CLI pattern:
export CERTYN_API_URL="https://api.certyn.io"
export CERTYN_API_KEY="<api-key>"
certyn run smoke --project my-app --environment staging --timeout 30m
Use --json when you need machine-readable output for custom automation.
When a gate fails, continue with CLI Triage Workflows to inspect issues, executions, and test quality.
