Skip to main content

Overview

Status checks allow you to automatically verify conditions after a successful deployment. Based on the results, you can choose to:
  • Publish the deployment if checks pass
  • Withhold the deployment if checks fail
Status checks run after the build succeeds but before the deployment is published to your environment.

When to Use Status Checks

Status checks are ideal for:
  • E2E tests - Verify critical user flows work correctly
  • Smoke tests - Ensure the application starts and responds
  • Visual regression tests - Catch unintended UI changes
  • Performance tests - Validate page load times
  • Security scans - Check for vulnerabilities
  • Accessibility tests - Ensure WCAG compliance

Configuring Status Checks

1

Navigate to Config

Go to Environment Config > Deployment Settings > Status Checks
2

Add Status Check

Click Add Status Check
3

Enter Command

Provide the command that will be executed to verify the deployment
4

Add Metadata (Optional)

Provide a name and description to help other developers understand the check
5

Save

Click Save to apply the status check
The command will execute with the same environment variables available during the build process, plus the deployment preview URL.

Status Check Execution

When a deployment completes successfully:
1

Build Completes

Application is built and deployed to preview URL
2

Status Checks Run

Each configured status check command executes sequentially
3

Results Evaluated

If all checks pass (exit code 0), deployment is ready to publish
4

Deployment Locked

Deployment state is locked based on check results

Exit Codes

  • Exit code 0: Check passed ✅
  • Non-zero exit code: Check failed ❌
If any status check fails, the deployment will not be automatically published.

Environment Variables

Status checks have access to all standard system variables: See System Variables for the complete list.

Example Status Checks

Puppeteer E2E Test

Run end-to-end tests using Puppeteer to verify critical user flows.

Install Dependencies

package.json

Status Check Command

Example Script

scripts/puppeteer.js
See the complete example in our sample repository.

Playwright Test

Run Playwright tests against the deployment.

Status Check Command

Configuration

playwright.config.ts

Lighthouse Performance Test

Verify performance metrics using Lighthouse.

Status Check Command

Example Script

scripts/lighthouse.js

cURL Smoke Test

Simple HTTP request to verify the deployment is accessible.

Status Check Command

The -f flag makes curl fail with a non-zero exit code on HTTP errors.

API Health Check

Verify API endpoints are responding correctly.

Status Check Command

Example Script

scripts/health-check.js

Jest Integration Tests

Run Jest tests against the deployed application.

Status Check Command

Example Test

tests/integration/api.test.js

Modifying Status Checks

1

Navigate to Config

Go to Environment Config > Deployment Settings > Status Checks
2

Open Menu

Click the menu button () next to the status check
3

Edit Fields

Update command, name, or description
4

Save

Click Save to apply changes
Changes apply to future deployments only.

Deleting Status Checks

1

Navigate to Config

Go to Environment Config > Deployment Settings > Status Checks
2

Open Menu

Click the menu button () next to the status check
3

Delete

Click Delete and confirm

Best Practices

Keep Checks Fast

Status checks should complete quickly (< 5 minutes). Long-running checks delay deployments and tie up runners.

Test Critical Paths Only

Focus on essential functionality. Run comprehensive test suites in CI before deployment.

Use Retries

Network issues can cause false failures. Add retry logic to your status check scripts:

Log Detailed Output

Provide clear logs to help debug failures:

Combine with Auto Publish

Use status checks with auto publish to create a fully automated deployment pipeline:
  1. Code is pushed to main branch
  2. Auto deployment triggers
  3. Build succeeds
  4. Status checks run
  5. If checks pass, deployment auto-publishes

Troubleshooting

Status Check Fails Unexpectedly

  • Check status check logs in deployment details
  • Verify the preview URL is accessible
  • Ensure required dependencies are installed
  • Check for race conditions (app not fully loaded)

Timeout Issues

If status checks time out:
  • Reduce test scope
  • Optimize test execution
  • Increase timeout in your test framework
  • Check network connectivity

Environment Variable Issues

If environment variables are missing:
  • Verify variables are set in environment config
  • Check variable names are correct
  • Ensure variables are not obfuscated when needed

Deployment Flow with Status Checks

Auto Deployments

Configure automatic deployments

Outbound Webhooks

Trigger external services on deployment events

System Variables

Available environment variables

Troubleshooting

Fix common deployment issues