aws-github-actions
Collection of GitHub actions for interacting with AWS services.
Usage
See individual action directory for details on usage and examples.
- AWS Command Line Interface - execute awscli commands
- CloudFront Invalidate - invalidate AWS CloudFront distribution to force cache refresh
- IAM Access Credentials - ensure GitHub actions workflow environment has necessary AWS IAM credentials available for subsequent AWS actions
- S3 Sync - synchronize local files to remote AWS S3 bucket
Getting Started
This project is setup as a monorepo using lerna and yarn workspaces. If you are unfamiliar with these tools or the practice of a monorepo, I would suggest taking a look at the following articles (I am certain there are many more, but these seemed complete and worthy of a mention):
- Create a Monorepo with Lerna & Yarn Workspaces
- Why Lerna and Yarn Workspaces is a Perfect Match for Building Mono-Repos – A Close Look at Features and Performance
The following instructions will help you get setup for development and testing purposes.
Prerequisites
yarn
yarn
is used to handle dependencies and executing scripts on the codebase.
See here for instructions on installing yarn on your local machine.
lerna
lerna
is used to managed the project as a monorepo - where each action is packaged and managed individually, and some packages are internal modules shared across the actions.
To install locally on your machine, it is recommended to install globally via npm or yarn:
$ npm install lerna --globally
-- or --
$ yarn global add lerna
Once you have installed both yarn
and lerna
, you can install the project dependencies by running the following command from within the project root directory:
$ yarn
Note: You may come across the command sequence lerna bootstrap
in the lerna
documentation; this is equivalent to running yarn
where both commands will pull down the necessary dependencies for the project and its packages.
Contributing
Please read CODE_OF_CONDUCT.md for details on our code of conduct and the process for submitting pull requests.
Changelog
Please see the CHANGELOG.md for details on individual releases.