Skip to main content

CI Job Summaries

The ci.summary section configures rich Markdown job summaries that are written after plan and apply operations. On GitHub Actions, these are written to $GITHUB_STEP_SUMMARY.

Experimental

Configuration

atmos.yaml

ci:
summary:
enabled: true
ci.summary.enabled

Write rich summaries with resource badges, collapsible diffs, and terraform outputs. On GitHub Actions, writes to $GITHUB_STEP_SUMMARY. On GitLab CI, creates job artifacts.

Default: true

Plan Summary Format

Plan summaries include resource counts as inline badges, destruction warnings, and a collapsible resource list:

## Plan: `vpc` in `plat-ue2-dev`

[![create](https://shields.io/badge/CREATE-3-success?style=for-the-badge)](#)
[![change](https://shields.io/badge/CHANGE-1-warning?style=for-the-badge)](#)
[![destroy](https://shields.io/badge/DESTROY-2-critical?style=for-the-badge)](#)

> [!CAUTION]
> **Terraform will delete resources!**

<details>
<summary>Plan: 3 to add, 1 to change, 2 to destroy</summary>

### Create
- `aws_vpc.main`
- `aws_subnet.public[0]`
- `aws_subnet.public[1]`

### Change
- `aws_security_group.web`

### Destroy
- `aws_security_group.deprecated`
- `aws_route.legacy`

</details>

Apply Summary Format

Apply summaries show the result of the apply operation, including resource counts and any terraform outputs that were produced.

Custom Templates

Override the default summary templates with your own Markdown. See Templates for configuration and template variables.

Local Testing

Test summaries locally by setting the summary output path:

export ATMOS_CI_SUMMARY=/tmp/summary.md
atmos terraform plan mycomponent -s dev --ci
cat /tmp/summary.md