This action is a simple wrapper for S3cmd.
Currently the below providers are supported, but it could be used with other providers too when using additional flags.
- AWS
- Linode
- DigitalOcean
- Scaleway
- Cloudflare
- Vultr
- CleverCloud
- Hetzner Cloud
Not Required The s3 provider to use. Defaults to Linode. AWS, Linode, DigitalOcean, Scaleway, Cloudflare, Vultr, CleverCloud, Hetzner Cloud are supported.
Required The buckets secret key.
Required The buckets access key.
Not Required The default region to use. The default depends on the provider.
Not Required Cloudflare account ID. Only required when using Cloudflare R2.
- name: Set up S3cmd cli tool
uses: s3-actions/[email protected]
with:
provider: aws # default is linode
region: 'eu-central-1'
access_key: ${{ secrets.S3_ACCESS_KEY }}
secret_key: ${{ secrets.S3_SECRET_KEY }}
- name: Interact with object storage
run: |
s3cmd sync --recursive --acl-public dist s3://awesome.blog/
s3cmd put dist/style.css --mime-type 'text/css' --acl-public s3://awesome.blog/style.css
s3cmd info s3://awesome.blog
The region only matters when creating a new bucket with mb
. In that case a different region apart from the default region can be provided ad hoc.
s3cmd mb --region ap-south-1 s3://my-bucket
For linode object storage this wont work though. The region must always be set to US. If you want to change the region on the fly you can still do ith with the below command.
s3cmd mb --host ap-south-1.linodeobjects.com s3://my-bucket
Copy the hooks into the git folder:
cp assets/hooks/* .git/hooks/