Skip to content

Commit e124ecf

Browse files
committed
Deploy releases to BunnyCDN (#2466)
1 parent 139a206 commit e124ecf

File tree

3 files changed

+249
-71
lines changed

3 files changed

+249
-71
lines changed

.github/workflows/deploy.yml

+74-1
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,19 @@ on:
3131
type: boolean
3232
github_pages:
3333
type: boolean
34+
bunnycdn_production:
35+
type: boolean
36+
minio_production:
37+
type: boolean
3438
outputs:
3539
netlify_preview_address:
3640
value: ${{ jobs.netlify_preview.outputs.address }}
3741
secrets:
3842
NETLIFY_TOKEN:
43+
PROD_BUNNYCDN_API_KEY:
44+
PROD_BUNNYCDN_PASSWORD:
45+
PROD_MINIO_KEY_ID:
46+
PROD_MINIO_SECRET_KEY:
3947

4048
jobs:
4149
netlify_preview:
@@ -90,7 +98,7 @@ jobs:
9098

9199
environment:
92100
name: production
93-
url: https://www.privacyguides.org
101+
url: https://illustrious-bavarois-56cf30.netlify.app/
94102

95103
steps:
96104
- uses: actions/download-artifact@v4
@@ -165,3 +173,68 @@ jobs:
165173

166174
- id: deployment
167175
uses: actions/deploy-pages@main
176+
177+
bunnycdn_production:
178+
if: inputs.bunnycdn_production
179+
runs-on: ubuntu-latest
180+
181+
permissions:
182+
contents: read
183+
184+
environment:
185+
name: production
186+
url: https://privacyguides-org-production.b-cdn.net
187+
188+
steps:
189+
- uses: actions/download-artifact@v4
190+
with:
191+
pattern: site-build-*
192+
merge-multiple: true
193+
194+
- run: |
195+
for file in *.tar.gz; do tar -zxf "$file"; done
196+
ls -la site/
197+
198+
- uses: own3d/bunny-action@bfaa5c6bc8b7a7ebd599ddd4912347d7c3847e78
199+
env:
200+
BUNNY_API_ACCESS_KEY: ${{ secrets.PROD_BUNNYCDN_API_KEY }}
201+
BUNNY_STORAGE_HOSTNAME: storage.bunnycdn.com
202+
BUNNY_STORAGE_USERNAME: ${{ vars.PROD_BUNNYCDN_USER }}
203+
BUNNY_STORAGE_PASSWORD: ${{ secrets.PROD_BUNNYCDN_PASSWORD }}
204+
BUNNY_PULL_ZONE_ID: 2117106
205+
with:
206+
server: "storage.bunnycdn.com"
207+
username: ${{ vars.PROD_BUNNYCDN_USER }}
208+
password: ${{ secrets.PROD_BUNNYCDN_PASSWORD }}
209+
local-dir: ./site/
210+
211+
minio_production:
212+
if: inputs.minio_production
213+
runs-on: ubuntu-latest
214+
215+
permissions:
216+
contents: read
217+
218+
environment:
219+
name: production
220+
url: https://privacyguides-org-production.stor1-minio.jonaharagon.net
221+
222+
steps:
223+
- uses: actions/download-artifact@v4
224+
with:
225+
pattern: site-build-*
226+
merge-multiple: true
227+
228+
- run: |
229+
for file in *.tar.gz; do tar -zxf "$file"; done
230+
ls -la site/
231+
232+
- uses: jakejarvis/s3-sync-action@master
233+
with:
234+
args: --acl public-read --follow-symlinks --delete
235+
env:
236+
SOURCE_DIR: "site/"
237+
AWS_S3_BUCKET: ${{ vars.PROD_MINIO_BUCKET }}
238+
AWS_S3_ENDPOINT: ${{ vars.PROD_MINIO_HOSTNAME }}
239+
AWS_ACCESS_KEY_ID: ${{ secrets.PROD_MINIO_KEY_ID }}
240+
AWS_SECRET_ACCESS_KEY: ${{ secrets.PROD_MINIO_SECRET_KEY }}

.github/workflows/publish-release.yml

+6
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,14 @@ jobs:
8888
with:
8989
netlify_production: true
9090
github_pages: true
91+
bunnycdn_production: true
92+
minio_production: true
9193
secrets:
9294
NETLIFY_TOKEN: ${{ secrets.NETLIFY_TOKEN }}
95+
PROD_BUNNYCDN_API_KEY: ${{ secrets.PROD_BUNNYCDN_API_KEY }}
96+
PROD_BUNNYCDN_PASSWORD: ${{ secrets.PROD_BUNNYCDN_PASSWORD }}
97+
PROD_MINIO_KEY_ID: ${{ secrets.PROD_MINIO_KEY_ID }}
98+
PROD_MINIO_SECRET_KEY: ${{ secrets.PROD_MINIO_SECRET_KEY }}
9399

94100
cleanup:
95101
if: ${{ always() }}

0 commit comments

Comments
 (0)