Overview
Github Actions is a powerful tool for automating workflows in your repository. This repository contains a collection of GitHub workflows that are reusable across projects.
Reusable workflows will not suit all projects, but they can be a good starting point for projects that have similar requirements.
The state of these workflows are considered to be in alpha, and are subject to change to suit the needs of projects managed by DAI.
Github Actions - Reusable Workflows¶
Features¶
- Terraform orchestration
- Docker image management
- Lambda builds
- AWS secrets cloning across AWS accounts.
Goals¶
The main goal is to have a single source of truth for all standard workflows, so that they can be easily maintained.
When to use reusable workflows¶
- Terraform orchestration
- Simple docker workflows
- Running repeatable tasks across multiple projects e.g. Ad hoc scripts
When not to use reusable workflows¶
- When you need to customize the workflow for your specific use case.
- Most of the time application builds and tests are unique to the project and should be maintained in the project repository.
- Secrets are required to be stored in the project repository. (We recommend using AWS Secrets Manager for workflow secrets)
Usage¶
Create a .github/workflows
directory in your repository and create workflows that reference the workflows in this repository.
name: My Workflow
on: push
jobs:
my-job:
uses: <org>/<repo>/.github/workflows/<workflow-name>.yaml@<ref>
with:
my-input: my-value
For more complete examples see the examples page.