You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
GitHub Action
Upload S3
v1.1.1
This action upload directory to AWS S3 by public read and output key that generated by shortid
Place in a .yml
file such as this one in your .github/workflows
folder. Refer to the documentation on workflow YAML syntax here.
name: Upload to S3
on: [pull_request]
jobs:
upload:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: shallwefootball/s3-upload-action@master
with:
aws_key_id: ${{ secrets.AWS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: 'dirname'
Recommend using with deployment-action in pull request.
name: Deploy for preview
on: [pull_request]
jobs:
preview:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: chrnorm/deployment-action@releases/v1
name: Create GitHub deployment
id: test
with:
token: ${{ secrets.GITHUB_TOKEN}}
description: 'Preview my app'
environment: preview
- uses: shallwefootball/s3-upload-action@master
name: Upload S3
id: S3
with:
aws_key_id: ${{ secrets.AWS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
aws_bucket: ${{ secrets.AWS_BUCKET }}
source_dir: 'static'
- name: Update deployment status (success)
if: success()
uses: chrnorm/deployment-status@releases/v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
target_url: https://aws-bucket.s3.ap-northeast-2.amazonaws.com/${{steps.S3.outputs.object_key}}/index.html
state: 'success'
deployment_id: ${{ steps.test.outputs.deployment_id }}
The following settings must be passed as environment variables as shown in the example. Sensitive information, especially aws_key_id
and aws_secret_access_key
, should be set as encrypted secrets — otherwise, they'll be public to anyone browsing your repository's source code
name | description |
---|---|
aws_key_id |
(Required) Your AWS Access Key. More info here. |
aws_secret_access_key |
(Required) Your AWS Secret Access Key. More info here. |
aws_bucket |
(Required) The name of the bucket you're upload to. |
source_dir |
(Required) The local directory (or file) you wish to upload to S3. |
destination_dir |
(Optional) The destination directory in S3 If this field is excluded a shortid will be generated |
To upload to the root directory, set
destination_dir: ''
inaction.yml
name | description |
---|---|
object_key |
Uploaded object key generated by shortid in Bucket |
object_locations |
Object Locations |