The terramate-io/terramate-action is a GitHub composite action that sets up Terramate CLI in your GitHub Actions workflows.
- It downloads a specific version or a asdf configured version of Terramate CLI.
- It installs Terramate CLI into a user specified path or by default to
/usr/local/bin - It installs a wrapper script by default so that calls to
terramatebinary will expose GitHub Action outputs to access thestderr,stderr, and theexitcodeof theterramateexecution. - It allows you to configure a default Terramate Cloud organization to use Terramate Cloud Features like Drift Detection and Stack Health Information.
The action currently only supports ubuntu and macos runners.
Terramate Catalyst extends Terramate CLI with additional feature to scale IaC and allow simple self-service also for non experts.
steps:
- uses: terramate-io/terramate-action@v3
with:
version: "0.14.7-beta1"
use_catalyst: trueNote
Add use_catalyst: true to any of the examples below to ensure you are using Terramate Catalyst.
The version argument should be used to specify the desired terramate version to install.
steps:
- uses: terramate-io/terramate-action@v3
with:
version: "0.14.0"The default version is "detect".
The terramate version to use needs to be defined in a .tool-versions file as defined by asdf.
This is the recommended way to specify the version so updates can be made in a single location.
# file: .tool-versions
terramate 0.14.0steps:
- uses: terramate-io/terramate-action@v3
with:
version: "detect"or just
steps:
- uses: terramate-io/terramate-action@v3The binary will be installed to /usr/local/bin by default. This location can be changed using the bindir argument:
steps:
- uses: terramate-io/terramate-action@v3
with:
bindir: /usr/local/binTo configure the default Terramate Cloud Organization set cloud_organization argument to your organization short name:
steps:
- uses: terramate-io/terramate-action@v3
with:
cloud_organization: myorganizationTo disable using the optional wrapper script by default the use_wrapper argument can be set to "false":
steps:
- uses: terramate-io/terramate-action@v3
with:
use_wrapper: "false"Subsequent steps can access outputs when the wrapper script is installed:
steps:
- uses: terramate-io/terramate-action@v3
- id: list
run: terramate list --changed
- run: echo ${{ steps.list.outputs.stdout }}
- run: echo ${{ steps.list.outputs.stderr }}
- run: echo ${{ steps.list.outputs.exitcode }}See the LICENSE file for licensing information.
Terramate is a CNCF and Linux Foundation silver member.