Configuring workflow actions
An action is the main building block of a workflow, and defines a logical unit of work, or task, to perform during a workflow run. Typically, a workflow includes multiple actions that run sequentially or in parallel depending on how you've configured them.
Topics
- Action types
- Adding an action to a workflow
- Removing an action from a workflow
- Developing a custom action
- Grouping actions into action groups
- Sequencing actions
- Sharing artifacts and files between actions
- Specifying the action version to use
- Listing the available action versions
- Viewing an action's source code
- Integrating with GitHub Actions
Action types
Within an Amazon CodeCatalyst workflow, you can use the following types of actions.
CodeCatalyst actions
A CodeCatalyst action is an action that is authored, maintained, and fully supported by the CodeCatalyst development team.
There are CodeCatalyst actions for building, testing, and deploying applications, as well as for performing miscellaneous tasks, such as invoking an AWS Lambda function.
The following CodeCatalyst actions are available:
-
Build
This action builds your artifacts and runs your unit tests in a Docker container. For more information, see Adding the build action.
-
Test
This action runs integration and system tests against your application or artifacts. For more information, see Adding the test action.
-
Amazon S3 publish
This action copies your application artifacts to an Amazon S3 bucket. For more information, see Publishing files to Amazon S3 with a workflow.
-
AWS CDK bootstrap
This action provisions the resources that the AWS CDK needs to deploy your CDK app. For more information, see Bootstrapping an AWS CDK app with a workflow.
-
AWS CDK deploy
This action synthesizes and deploys an AWS Cloud Development Kit (AWS CDK) app. For more information, see Deploying an AWS CDK app with a workflow.
-
AWS Lambda invoke
This action invokes an AWS Lambda function. For more information, see Invoking a Lambda function using a workflow.
-
GitHub Actions
This action is a CodeCatalyst action that allows you to run GitHub Actions within a CodeCatalyst workflow. For more information, see Invoking a Lambda function using a workflow.
-
Deploy AWS CloudFormation stack
This action deploys AWS CloudFormation stacks. For more information, see Deploying an AWS CloudFormation stack.
-
Deploy to Amazon ECS
This action registers an Amazon ECS task definition and deploys it to an Amazon ECS service. For more information, see Deploying to Amazon ECS with a workflow.
-
Deploy to Kubernetes cluster
This action deploys an application to a Kubernetes cluster. For more information, see Deploying to Amazon EKS with a workflow.
-
Render Amazon ECS task definition
This action inserts a container image URI into an Amazon ECS task definition JSON file, creating a new task definition file. For more information, see Modifying an Amazon ECS task definition.
Documentation for CodeCatalyst actions is available in this guide, and in each action's readme.
For information about the available CodeCatalyst actions, and how to add one to a workflow, see Adding an action to a workflow.
CodeCatalyst Labs actions
A CodeCatalyst Labs action is an action that is part of Amazon CodeCatalyst Labs, a proving ground for experimental applications. CodeCatalyst Labs actions have been developed to showcase integrations with AWS services.
The following CodeCatalyst Labs actions are available:
-
Deploy to AWS Amplify Hosting
This action deploys an application to Amplify Hosting.
-
Deploy to AWS App Runner
This action deploys the latest image in a source image repository to App Runner.
-
Deploy to Amazon CloudFront and Amazon S3
This action deploys an application to CloudFront and Amazon S3.
-
Deploy with AWS SAM
This action deploys your serverless application with AWS Serverless Application Model (AWS SAM).
-
Invalidate Amazon CloudFront Cache
This action invalidates a CloudFront cache for a given set of paths.
-
Outgoing Webhook
This action allows users to send messages within a workflow to an arbitrary web server using an HTTPS request.
-
Publish to AWS CodeArtifact
This action publishes packages to a CodeArtifact repository.
-
Publish to Amazon SNS
This action allows users to integrate with Amazon SNS by creating a topic, publishing to a topic, or subscribing to a topic.
-
Push to Amazon ECR
This action builds and publishes a Docker image to an Amazon Elastic Container Registry (Amazon ECR) repository.
-
Scan with Amazon CodeGuru Security
This action creates a zip archive of a configured code path and uses CodeGuru Security to run a code scan.
-
Terraform Community Edition
This action runs Terraform Community Edition
plan
andapply
operations.
Documentation for CodeCatalyst Labs actions is available in each action's readme.
For information about adding a CodeCatalyst Labs action to a workflow and viewing its readme, see Adding an action to a workflow.
GitHub Actions
A GitHub Action is a lot like a CodeCatalyst action, except that it was developed for
use with GitHub workflows. For details about GitHub Actions, see the GitHub Actions
You can use GitHub Actions alongside native CodeCatalyst actions in a CodeCatalyst workflow.
For your convenience, the CodeCatalyst console provides access to several popular GitHub
Actions. You can also use any GitHub Action listed in the GitHub Marketplace
Documentation for GitHub Actions is available in each action's readme.
For more information, see Integrating with GitHub Actions.
Third-party actions
A third-party action is an action that is authored by a third-party vendor, and made available in the CodeCatalyst console. Examples of third-party actions include the Mend SCA and SonarCloud Scan actions, authored by Mend and Sonar, respectively.
Documentation for third-party actions is available in each action's readme. Additional documentation might also be provided by the third-party vendor.
For information about adding a third-party action to a workflow and viewing its readme, see Adding an action to a workflow.