flightbox Docs

CI integrations

The contract: flightbox ci exits nonzero if any run fails, prints the scorecard, and writes JUnit XML any CI system can ingest.

flightbox ci --suite suite_abc123 --api https://app.flightbox.co \
  --base-url "$PREVIEW_URL" --junit results.xml

GitHub Actions

on: [deployment_status]
jobs:
  agents:
    if: github.event.deployment_status.state == 'success'
    runs-on: ubuntu-latest
    steps:
      - uses: xxco/flightbox@main
        with:
          suite: ${{ vars.FLIGHTBOX_SUITE }}
          api-url: ${{ vars.FLIGHTBOX_URL }}
          base-url: ${{ github.event.deployment_status.target_url }}
        env:
          FLIGHTBOX_API_KEY: ${{ secrets.FLIGHTBOX_API_KEY }}

GitLab CI

agent-matrix:
  image: ghcr.io/astral-sh/uv:python3.12-bookworm
  script:
    - uvx --from git+https://github.com/xxco/flightbox flightbox ci
        --suite $FLIGHTBOX_SUITE --api $FLIGHTBOX_URL
        --base-url $CI_ENVIRONMENT_URL --junit results.xml
  artifacts:
    reports: { junit: results.xml }

Anything else (Jenkins, Circle, Buildkite): it's one shell command + one XML file. Tier your cadence: smoke (1 agent × key task) on PRs, full matrix nightly — budgets (max_usd) are enforced per run server-side.