# CI Status Checks

The `ci.checks` section configures commit status checks that show real-time operation progress.
On GitHub Actions, these use the Check Runs API. On GitLab CI, they use the Commit Status API.

> ⚠️ Experimental

## Configuration

**File:** `atmos.yaml`

```yaml
ci:
  checks:
    enabled: true
    context_prefix: "atmos"
    statuses:
      component: true
      add: true
      change: true
      destroy: true
```

- **`ci.checks.enabled`**

  Post commit status checks when operations start and complete.

  **Requires:** `checks: write` permission (GitHub) or API token with commit status scope (GitLab)

  **Default:** `false`
- **`ci.checks.context_prefix`**

  Prefix for status check names. For example, with prefix `atmos`, checks appear as
  `atmos/terraform/plan`.

  **Default:** `atmos`
- **`ci.checks.statuses.component`**

  Post commit status check summary operation on a component.

  **Requires:** `checks: write` permission (GitHub) or API token with commit status scope (GitLab)

  **Default:** `true`
- **`ci.checks.statuses.add`**

  Post commit status check if a resource creation is involved.

  **Requires:** `checks: write` permission (GitHub) or API token with commit status scope (GitLab)

  **Default:** `true`
- **`ci.checks.statuses.change`**

  Post commit status check if a resource update is involved.

  **Requires:** `checks: write` permission (GitHub) or API token with commit status scope (GitLab)

  **Default:** `true`
- **`ci.checks.statuses.destroy`**

  Post commit status check if a resource delete is involved.

  **Requires:** `checks: write` permission (GitHub) or API token with commit status scope (GitLab)

  **Default:** `true`

## How It Works

When enabled, Atmos creates and updates check runs during Terraform operations:

**While running:**

```
● Atmos  Plan in progress — vpc in plat-ue2-dev
```

**When complete (success):**

```
✓ Atmos  Plan complete — 3 to add, 1 to change, 2 to destroy
```

**When complete (failure):**

```
✗ Atmos  Plan failed — vpc in plat-ue2-dev
```

## GitHub Actions Permissions

Status checks require the `checks: write` permission:

```yaml
permissions:
  checks: write
```

## Related

- [CI Configuration](/cli/configuration/ci) - Full configuration reference
- [Native CI Overview](/ci) - Feature overview
