Github action for deploying selected directory to BunnyCDN storage.
  • TypeScript 97.7%
  • JavaScript 2.3%
Find a file
2026-02-08 22:11:30 +04:00
.github/workflows feat: add upload checksum check and e2e tests 2026-02-08 13:31:33 +04:00
.vscode feat: add upload checksum check and e2e tests 2026-02-08 13:31:33 +04:00
dist chore: create new build 2026-02-08 21:58:21 +04:00
src fix: remove unused code 2026-02-08 22:09:11 +04:00
.env.example fix: add missing env variable in example 2026-02-08 22:10:29 +04:00
.eslintrc.js add remove purge 2022-09-18 23:28:28 +04:00
.gitignore feat: add upload checksum check and e2e tests 2026-02-08 13:31:33 +04:00
.nvmrc chore: update the none dev dependencies 2026-02-06 20:10:14 +04:00
action.yml chore: update the none dev dependencies 2026-02-06 20:10:14 +04:00
package-lock.json chore: remove unused tsx package 2026-02-08 13:43:06 +04:00
package.json chore: remove unused tsx package 2026-02-08 13:43:06 +04:00
README.md chore: bump version and add new build 2026-02-08 13:33:10 +04:00
tsconfig.json chore: update the none dev dependencies 2026-02-06 20:10:14 +04:00
webpack.config.js chore: bump version 2026-02-07 15:41:02 +04:00

bunnycdn-storage-deploy

This action performs 3 operations.

  • Uploads files and folders to storage.
  • Removes all the files from storage.
  • Purges pull zone.

Each operation can be activated with their respective upload, remove and purge flags.

Inputs

upload

It will upload files and folders if "true" provided. source, storageZoneName and storagePassword inputs should be provided.

remove

It will remove all the files from storage before uploading if "true" provided. storageZoneName and storagePassword inputs should be provided.

purgePullZone

It will purge the pull zone if "true" provided. pullZoneId and accessKey inputs should be provided.

purgePullZoneDelay

Waits this many seconds before purging the pull zone in order to allow the storage zone time to replicate.

source

The source directory that should be uploaded.

destination

The destination directory that should be uploaded to in the bunny storage zone. (Example: www). The destination should not have a trailing / as in www/.

If you want to upload files to a nested directory, you can specify the path to the directory in the destination parameter. For example, if you want to upload files to a directory called assets inside the www directory, you can set the destination parameter to www/assets.

Note that the nested directory will be automatically created by the CDN if it does not already exist.

storageZoneName

The name of storage zone where you are connecting to.

storageEndpoint

The storage endpoint. Default value is storage.bunnycdn.com

storagePassword

The storage password. It should be read and write capable.

accessKey

The API key.

pullZoneId

Pull zone ID.

maxRetries

Number of retries on fail. Default is 5.

Example usage

- name: Deploy to BunnyCDN
  uses: ayeressian/bunnycdn-storage-deploy@v2.4.3
  with:
    source: "dist"
    destination: "www"
    storageZoneName: "${{ secrets.STORAGE_NAME }}"
    storagePassword: "${{ secrets.STORAGE_PASSWORD }}"
    accessKey: "${{ secrets.STORAGE_KEY }}"
    pullZoneId: "${{ secrets.ZONE_ID }}"
    upload: "true"
    remove: "true"
    purgePullZone: "true"
    purgePullZoneDelay: "5"
    maxRetries: "5"