Skip to main content

CI Configuration

The ci section of atmos.yaml configures native CI/CD integration, including output variables, job summaries, status checks, PR comments, and template overrides. Terraform supports the full feature set; Kubernetes v1 CI support writes job summaries only.

Experimental

Quick Start​

atmos.yaml
ci:
enabled: true
output:
enabled: true
variables:
- has_changes
- has_additions
- has_destructions
- plan_summary
summary:
enabled: true
checks:
enabled: false
comments:
enabled: true
behavior: upsert

Configuration Reference​

ci.enabled

Explicitly enable or disable CI mode. When not set, CI mode is auto-detected from environment variables (CI=true or GITHUB_ACTIONS=true).

Default: Auto-detected

Sections​

Component Support​

Component typeJob summariesOutput variablesStatus checksPR commentsArtifacts
TerraformYesYesYesYesPlanfiles
KubernetesYesNoNoNoNo

Kubernetes summaries cover render, plan/diff, apply/deploy, delete, validate, and command failures. They intentionally do not create a machine-readable output contract in v1.

Full Example​

atmos.yaml
ci:
# Auto-enabled when CI detected, or set explicitly
enabled: true

# Output variables for downstream jobs
output:
enabled: true
variables:
- has_changes
- has_additions
- has_destructions
- artifact_key
- plan_summary

# Job summary with plan/apply results
summary:
enabled: true

# Commit status checks
checks:
enabled: true
context_prefix: "atmos"

# PR/MR comments
comments:
enabled: true
behavior: upsert

# Template overrides
templates:
base_path: ".atmos/ci/templates"
terraform:
plan: "plan.md"
apply: "apply.md"
helm:
template: "helm-template.md"
diff: "helm-diff.md"
apply: "helm-apply.md"
delete: "helm-delete.md"
helmfile:
template: "helmfile-template.md"
diff: "helmfile-diff.md"
apply: "helmfile-apply.md"
destroy: "helmfile-destroy.md"

CI Detection​

CI mode is auto-enabled when any of these environment variables are set:

  • CI=true (set by most CI providers)
  • GITHUB_ACTIONS=true (set by GitHub Actions)

Override with the --ci flag, ATMOS_CI, or ci.enabled configuration.

Terraform commands use native CI for summaries, outputs, checks, comments, and planfile storage. Native Helm and Helmfile commands use native CI for job summaries only.

Environment Variables​

VariableDescription
ATMOS_CIExplicitly enable CI mode (true/false)
ATMOS_CI_COMMENTS_ENABLEDOverride ci.comments.enabled (true/false)
CIStandard CI environment variable (set by most CI providers)
GITHUB_ACTIONSSet by GitHub Actions runner
GITHUB_TOKEN / GH_TOKENGitHub API token (required for status checks and PR comments)
GITHUB_OUTPUTFile path for CI output variables (set by GitHub Actions)
GITHUB_STEP_SUMMARYFile path for job summaries (set by GitHub Actions)
GITHUB_REPOSITORYRepository name in owner/repo format
GITHUB_SHACurrent commit SHA