Skip to content

GitHub Action to upload files or directories to a Cloudflare R2 bucket (or another S3 compatible API), built on top of @aws-sdk/client-s3 in TypeScript.

License

Notifications You must be signed in to change notification settings

empirical-run/r2-upload-action

 
 

Repository files navigation

R2 Upload Action

GitHub Action to upload files to a Cloudflare R2 bucket, built on top of @aws-sdk/client-s3 in TypeScript.
Combination of these two repos: S3 Upload Action and Cloudflare R2 Upload.

Usage

Basic Usage

- uses: ryand56/r2-upload-action@latest
  with:
    r2-account-id: ${{ secrets.R2_ACCOUNT_ID }}
    r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
    r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
    r2-bucket: ${{ secrets.R2_BUCKET }}
    source-dir: src
    destination-dir: ./

In this example, source-dir is stored in the root of the bucket. Change destination-dir input to specify the location of where the directory will be uploaded.

Custom Usage

- uses: ryand56/r2-upload-action@latest # Can be any release
  with:
    r2-account-id: ${{ secrets.R2_ACCOUNT_ID }}
    r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
    r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
    r2-bucket: ${{ secrets.R2_BUCKET }}
    source-dir: src
    destination-dir: artifacts # Can be anything as long as it is an actual path
    output-file-url: 'true' # defaults to true

See the latest action.yml for every input and output or take a look below.

Inputs

Name Description Default
r2-account-id (Required) Your Cloudflare account ID. N/A
r2-access-key-id (Required) Your Cloudflare R2 bucket access key ID. N/A
r2-secret-access-key (Required) Your Cloudflare R2 bucket secret access key. N/A
r2-bucket (Required) Your Cloudflare R2 bucket name. N/A
source-dir (Required) The directory to upload to the Cloudflare R2 bucket. N/A
destination-dir (Optional) The destination to upload the directory to in the Cloudflare R2 bucket. Empty string

Outputs

Name Description
result Result of this action. Either success or failure is set.
file-urls The URLs of the uploaded files in the directory.

Contributing

See the contributing guide for more detail on how to implement something into the project.

About

GitHub Action to upload files or directories to a Cloudflare R2 bucket (or another S3 compatible API), built on top of @aws-sdk/client-s3 in TypeScript.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%