Skip to content

CI Integration

Exit codes your pipeline can trust.

curl-runner is one binary that exits non-zero when requests fail. Decide how strict to be — any failure, more than N, or more than a percentage — and save the results as JSON for the build to keep.

ci.yaml
# curl-runner tests/ --output results.json
global:
  continueOnError: true
  ci:
    failOnPercentage: 5

requests:
  - name: Checkout is up
    url: https://staging.example.com/api/checkout/health
    expect:
      status: 200
      responseTime: "< 1000"

Benefits

  • Your failure threshold

    strictExit fails on any failed request; failOn and failOnPercentage tolerate a known amount of noise.

  • Runs anywhere

    A single static binary with no runtime to install — GitHub Actions, GitLab CI, Jenkins or a cron job.

  • Results as an artifact

    --output writes the run to a file, with secrets redacted, ready to upload or parse.

Good for

  1. Blocking a deploy when the API breaks
  2. Nightly checks against production
  3. Post-deploy verification in a pipeline
  4. Tolerating a known-flaky endpoint without ignoring it