# Gate an actor deploy on a pass/fail verdict

**Use case:** 

Run real tests against your actor and get one deploy/halt verdict your CI branches on — catch a broken build before it ships.

## Input

```json
{
  "targetActorId": "ryanclinton/usgs-earthquake-search",
  "preset": "auto",
  "testCases": [
    {
      "name": "Contact scraper smoke test",
      "input": {
        "urls": [
          "https://example.com"
        ]
      },
      "assertions": {
        "minResults": 1,
        "requiredFields": [
          "email",
          "domain"
        ],
        "fieldPatterns": {
          "email": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$"
        },
        "maxDuration": 120
      }
    }
  ],
  "enableBaseline": true,
  "timeout": 300,
  "memory": 512,
  "maxSampleItems": 1000
}
```

## Output

```json
{
  "releaseAction": {
    "label": "Release action",
    "format": "string"
  },
  "decision": {
    "label": "Decision",
    "format": "string"
  },
  "statusHeadline": {
    "label": "Status headline",
    "format": "string"
  },
  "confidenceLevel": {
    "label": "Confidence level",
    "format": "string"
  },
  "score": {
    "label": "Confidence score",
    "format": "integer"
  },
  "totalTests": {
    "label": "Total tests",
    "format": "integer"
  },
  "passed": {
    "label": "Passed",
    "format": "integer"
  },
  "failed": {
    "label": "Failed",
    "format": "integer"
  },
  "actorName": {
    "label": "Actor display name",
    "format": "string"
  },
  "testedAt": {
    "label": "Tested at",
    "format": "string"
  }
}
```

## About this Actor

This example demonstrates how to use [Actor Test Runner — Validate Inputs, Outputs & Error Handling](https://apify.com/ryanclinton/actor-test-runner) with a specific input configuration. Visit the [Actor detail page](https://apify.com/ryanclinton/actor-test-runner) to learn more, explore other use cases, and run it yourself.