This simple action uses the vanilla AWS CLI to sync a directory (either from your repository or generated during your workflow) with a remote S3 bucket.As of v0.3.0, all aws s3 sync flags are optional to allow for maximum customizability (that's a word, I promise) and must be provided by you via args. --acl public-read makes your files publicly readable (make sure your bucket settings are also set to public). --follow-symlinks won't hurt and fixes some weird symbolic link problems that may come up. Most importantly, --delete permanently deletes files in the S3 bucket that are not present in the latest version of your repository/build. If you're uploading the root of your repository, adding --exclude '.git/*' prevents your .git folder from syncing, which would expose your source code history if your project is closed-source. (To exclude more than one pattern, you must have one --exclude flag per exclusion.
Features
- Permanently deletes files in the S3 bucket
- Optimal defaults for a public static website
- Makes your files publicly readable
- This project is distributed under the MIT license
- As of v0.3.0, all aws s3 sync flags are optional