Install atmos for use in GitHub Actions
Introduction
This repo contains a GitHub Action to setup atmos for use in GitHub Actions. It
installs the specified version of atmos and adds it to the PATH so it can be used in subsequent steps. In addition,
it optionally installs a wrapper script that will capture the stdout, stderr, and exitcode of the atmos
command and make them available to subsequent steps via outputs of the same name.
Usage
steps: - uses: hashicorp/setup-terraform@v2 - name: Setup atmos uses: cloudposse/github-action-setup-atmos@v2
To install a specific version of atmos, set the atmos-version input:
steps: - uses: hashicorp/setup-terraform@v2 - name: Setup atmos uses: cloudposse/github-action-setup-atmos@v2 with: atmos-version: 0.15.0
The wrapper script installation can be skipped by setting the install-wrapper input to false:
steps: - uses: hashicorp/setup-terraform@v2 - name: Setup atmos uses: cloudposse/github-action-setup-atmos@v2 with: install-wrapper: false
Subsequent steps of the GitHub action can use the wrapper scipt to capture the stdout, stderr, and exitcode if
the wrapper script was installed:
steps: - uses: hashicorp/setup-terraform@v2 - name: Setup atmos uses: cloudposse/github-action-setup-atmos@v2 with: install-wrapper: true - name: Run atmos id: atmos run: atmos terraform plan - run: echo ${{ steps.atmos.outputs.stdout }} - run: echo ${{ steps.atmos.outputs.stderr }} - run: echo ${{ steps.atmos.outputs.exitcode }}
Inputs
| Name | Description | Default | Required |
|---|---|---|---|
| atmos-version | Version Spec of the version to use. Examples: 1.x, 10.15.1, >=10.15.0. | latest | false |
| install-wrapper | Flag to indicate if the wrapper script will be installed to wrap subsequent calls of the atmos binary and expose its STDOUT, STDERR, and exit code as outputs named stdout, stderr, and exitcode respectively. Defaults to true. |
true | false |
| token | Used to pull atmos distributions from Cloud Posse's GitHub repository. Since there's a default, this is typically not supplied by the user. When running this action on github.com, the default value is sufficient. When running on GHES, you can pass a personal access token for github.com if you are experiencing rate limiting. | ${{ github.server_url == 'https://github.com' && github.token || '' }} | false |
Outputs
| Name | Description |
|---|---|
| atmos-version | The installed atmos version. |
Related Projects
Check out these related projects.
References
For additional context, refer to some of these links.
- github-actions-workflows - Reusable workflows for different types of projects
- example-github-action-release-workflow - Example application with complicated release workflow
β¨ Contributing
This project is under active development, and we encourage contributions from our community.
Many thanks to our outstanding contributors:
For π bug reports & feature requests, please use the issue tracker.
In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow.
- Review our Code of Conduct and Contributor Guidelines.
- Fork the repo on GitHub
- Clone the project to your own machine
- Commit changes to your own branch
- Push your work back up to your fork
- Submit a Pull Request so that we can review your changes
NOTE: Be sure to merge the latest changes from "upstream" before making a pull request!
π Slack Community
Join our Open Source Community on Slack. It's FREE for everyone! Our "SweetOps" community is where you get to talk with others who share a similar vision for how to rollout and manage infrastructure. This is the best place to talk shop, ask questions, solicit feedback, and work together as a community to build totally sweet infrastructure.
π° Newsletter
Sign up for our newsletter and join 3,000+ DevOps engineers, CTOs, and founders who get insider access to the latest DevOps trends, so you can always stay in the know. Dropped straight into your Inbox every week β and usually a 5-minute read.
Join us every Wednesday via Zoom for your weekly dose of insider DevOps trends, AWS news and Terraform insights, all sourced from our SweetOps community, plus a live Q&A that you canβt find anywhere else. It's FREE for everyone!
License
Preamble to the Apache License, Version 2.0
Complete license is available in the LICENSE file.
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
Trademarks
All other trademarks referenced herein are the property of their respective owners.
Copyright Β© 2017-2026 Cloud Posse, LLC

