Skip to main content

atmos pro commit

Use this command to commit staged changes via the Atmos Pro GitHub App. Unlike commits made with GITHUB_TOKEN, commits created through Atmos Pro trigger subsequent CI runs.

Usage

atmos pro commit --message <message> [--comment <comment>] [--add <pattern>] [--all]

Description

When running in GitHub Actions, commits made with GITHUB_TOKEN do not trigger subsequent workflow runs. This is a deliberate GitHub limitation to prevent infinite loops, but it also prevents autofix workflows (like terraform fmt) from triggering validation on the reformatted code.

atmos pro commit solves this by sending your changes to Atmos Pro, which creates the commit server-side using its GitHub App installation. Because the commit comes from the app (not GITHUB_TOKEN), GitHub triggers CI normally.

The workflow never receives a write token. Atmos Pro controls exactly what gets committed.

Loop Prevention

The command automatically detects when it's running in a workflow triggered by atmos-pro[bot] and exits early with a success message. This prevents infinite commit loops without requiring any workflow configuration. You can optionally add if: github.actor != 'atmos-pro[bot]' to skip the entire job for efficiency.

Examples

# Commit whatever is already staged
atmos pro commit -m "terraform fmt"

# Stage all changes then commit
atmos pro commit -m "terraform fmt" --all

# Stage only .tf files then commit
atmos pro commit -m "terraform fmt" --add "*.tf"

# Include a PR comment alongside the commit
atmos pro commit -m "terraform fmt" --comment "Auto-formatted Terraform files"

Example GitHub Actions Workflow

name: autocommit
on: pull_request

permissions:
contents: read
id-token: write

jobs:
format:
if: github.actor != 'atmos-pro[bot]'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: terraform fmt -recursive
- run: atmos pro commit -m "[autocommit] terraform fmt" --all

Flags

--message (alias -m) (required)
Commit message. Maximum 500 characters.
--comment (optional)
PR comment to post alongside the commit. Maximum 2000 characters.
--add (optional)
File pattern to stage before committing (e.g. "*.tf"). Runs git add <pattern>. Mutually exclusive with --all.
--all (alias -A) (optional)
Stage all changes before committing (runs git add -A). Mutually exclusive with --add.

Environment Variables

ATMOS_PRO_BASE_URL
Atmos Pro API URL (e.g. https://app.atmos.pro). Can also be set in atmos.yaml.
ATMOS_PRO_WORKSPACE_ID
Workspace ID for OIDC authentication.
GITHUB_HEAD_REF
PR branch name. Set automatically by GitHub Actions on pull_request events. Required.
ACTIONS_ID_TOKEN_REQUEST_URL
GitHub Actions OIDC token endpoint. Set automatically when id-token: write permission is granted.
ACTIONS_ID_TOKEN_REQUEST_TOKEN
GitHub Actions OIDC request bearer token. Set automatically when id-token: write permission is granted.