Skip to content

smoke-test

HARD GATE — Do NOT run smoke-test against a URL that hasn’t been deployed yet. Always run deploy first, then smoke-test.

HARD GATE — A failed smoke test means the deployment is broken. Do NOT mark a deploy as successful until all smoke checks pass.

Validate a deployed application is healthy by running a configurable set of HTTP checks against live URLs. Each check asserts:

  • HTTP status code (e.g., 200 for success, 404 for expected-not-found)
  • Response body content signal (regex or jq expression)
  • Response time threshold (optional)

Can be run standalone for quick health checks or chained as the final step of the deploy skill.

Smoke checks are defined in smoke-checks.yaml at the project root:

See REFERENCE.md

Checks can also be specified inline via environment variables or CLI arguments for ad-hoc use.

Field Required Default Description
name Yes Human-readable check name (used in report)
path Yes / URL path relative to base_url
method No GET HTTP method
expected_status No 200 Expected HTTP status code
content_signal No Regex or string to find in response body
max_response_time_ms No Fail if response slower than this threshold (ms)

See REFERENCE.md

For each check in the configuration, perform an HTTP request:

See REFERENCE.md

See REFERENCE.md

See REFERENCE.md

The deploy skill references smoke-test as its final verification step:

Terminal window
# In deploy workflow — after successful deploy
DEPLOY_URL="$DEPLOY_URL" bash scripts/run-smoke.sh