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
template: "summary"
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

ci.summary.template

Override the name of the summary template loaded from the templates base path. For native Kubernetes components this loads <base_path>/kubernetes/<template>.md.

Default: summary

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