You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
GitHub Action
S3 Deploy
v3.0.0
This action is based on the work done by import-io on s3-deploy.
You can use this action by referencing the v2 branch
uses: reggionick/s3-deploy@v2
with:
folder: build
bucket: ${{ secrets.S3_BUCKET }}
dist-id: ${{ secrets.CLOUDFRONT_DISTRIBUTION_ID }}
S3 Deploy's Action supports inputs from the user listed in the table below:
Input | Type | Required | Default | Description |
---|---|---|---|---|
folder |
string | Yes | The folder to upload | |
bucket |
string | Yes | The destination bucket | |
bucket-region |
string | Yes | The destination bucket region | |
dist-id |
string | Yes | The CloudFront Distribution ID to invalidate | |
invalidation |
string | No | '/' | The CloudFront Distribution path(s) to invalidate |
delete-removed |
boolean / string | No | false | Removes files in S3, that are not available in the local copy of the directory |
noCache |
boolean | No | false | Use this parameter to specify Cache-Control: no-cache, no-store, must-revalidate header |
private |
boolean | No | false | Upload files with private ACL, needed for S3 static website hosting |
name: Example workflow for S3 Deploy
on: [push]
jobs:
run:
runs-on: ubuntu-latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: yarn
- name: Build
run: yarn build
- name: Deploy
uses: reggionick/s3-deploy@v2
with:
folder: build
bucket: ${{ secrets.S3_BUCKET }}
bucket-region: ${{ secrets.S3_BUCKET_REGION }}
dist-id: ${{ secrets.CLOUDFRONT_DISTRIBUTION_ID }}
invalidation: /
delete-removed: true
private: true
The code in this project is released under the MIT License.