This repository contains a collection of GitHub Actions workflow templates that can be used with various types of repositories to automate the build, test, and deployment of applications and infrastructure.
Please refer to the following documentation for more information on the workflows:
- Terraform Plan & Apply (AWS)
- Terraform Plan Only (AWS)
- Terraform Module Validation
- Terraform Module Release
- Terraform Destroy (AWS)
The workflow templates in this repository are designed to be used with GitHub's deployment protection and approval feature. This feature allows you to require manual approval before a deployment can be executed. When merging to main branch we automatically use a 'production' environment, this can be configured with the repository setting to ensure all changes to this environment must be manually approved before applying the change.
- Go to the repository settings
- Click on the
Branches
tab - Click on the
Add rule
button - In the
Branch name pattern
field, enter the branch name you want to protect (e.g.main
) - Check the
Require pull request reviews before merging
checkbox - Check the
Require status checks to pass before merging
checkbox - Check the
Require branches to be up to date before merging
checkbox - Check the
Include administrators
checkbox - Click on
Environments
and choose the environment you want to protect (e.g.production
) - Check the
Require reviewers
checkbox and select the reviewers you want to require approval from - Check the
Prevent self-review
checkbox
This project is distributed under the Apache License, Version 2.0.