Skip to content

Action to set up AWS SAM CLI and add it to the PATH

License

Notifications You must be signed in to change notification settings

aws-actions/setup-sam

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

setup-sam

Tests Release

Action to set up AWS SAM CLI and add it to the PATH.

This action enables you to run AWS SAM CLI commands in order to build, package, and deploy serverless applications as part of your workflow.

Example

Assuming you have a samconfig.toml at the root of your repository:

on:
  push:
    branches:
      - main
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: aws-actions/setup-sam@v2
        with:
          use-installer: true
          token: ${{ secrets.GITHUB_TOKEN }}
      - uses: aws-actions/configure-aws-credentials@v2
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: us-east-2
      # Build inside Docker containers
      - run: sam build --use-container
      # Prevent prompts and failure when the stack is unchanged
      - run: sam deploy --no-confirm-changeset --no-fail-on-empty-changeset

See AWS IAM best practices for handling AWS credentials.

Inputs

version

The AWS SAM CLI version to install. Installs the latest version by default.

use-installer

Note

This is the recommended approach on supported platforms. It does not require Python to be installed, and is faster than the default installation method.

Currently supports Linux x86-64 runners.

Set to true to set up AWS SAM CLI using a native installer. Defaults to false.

python

Note

Unused if use-installer is set to true.

The Python interpreter to use for AWS SAM CLI. Defaults to python on Windows, and python3 otherwise.

You can use actions/setup-python to automatically set up Python.

token

Note

It is recommended to use token to have higher rate limit. Default unauthenticated users without a token will have a lesser rate limit enforced.

The GITHUB Authentication token to use for calling the GITHUB Get the latest release API. Defaults to call the API as unauthenticated request if not specified.

The parameter can accept either GITHUB_TOKEN or PAT(Personal Access Token) tokens.

Security

See CONTRIBUTING.md for more information.

License

This project is licensed under the Apache-2.0 License.