hlassiege/darylpublic Fork
⑂ 6d002a2
Commits
⬇ Clone ▾
git clone https://git.rickub.com/hlassiege/daryl.git
git clone ssh://git@rickub.com/hlassiege/daryl.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP

ci: deploy the website to bunny cdn

hlassiege committed 2026-11-12T14:05:50+01:00 Browse files
6d002a2 parent: 9c77724
added .rickub/workflows/deploy-site.yml +57 -0
new file mode 100644
@@ -0,0 +1,57 @@
1+# Builds the website (site/) and uploads it to Bunny CDN, served as https://daryl.eventuallymaking.io.
2+# Only runs when the site, the screenshots or the logo it uses, or this file change.
3+#
4+# The build has no dependencies (plain node), so there is no install step and ubuntu-latest is enough.
5+#
6+# Repository settings: secrets BUNNY_ACCESS_KEY and BUNNY_STORAGE_ZONE_PASSWORD, variables
7+# BUNNY_STORAGE_ZONE (storage zone name) and BUNNY_PULL_ZONE_ID (pull zone purged after the upload).
8+name: Deploy site
9+
10+on:
11+ push:
12+ branches: ["main"]
13+ paths:
14+ - "site/**"
15+ - "media/screenshots/**"
16+ - "web/public/favicon.svg"
17+ - ".rickub/workflows/deploy-site.yml"
18+ workflow_dispatch:
19+
20+# Workflow level: rickub ignores job-level concurrency. Deployments queue, none is cancelled
21+concurrency:
22+ group: deploy-site
23+ cancel-in-progress: false
24+
25+jobs:
26+ deploy:
27+ runs-on: ubuntu-latest
28+
29+ steps:
30+ - name: Checkout code
31+ uses: actions/checkout@v4
32+
33+ - name: Setup Node.js
34+ uses: actions/setup-node@v4
35+ with:
36+ node-version: '22'
37+
38+ - name: Build site
39+ run: node site/build.mjs
40+
41+ # enable-delete-action removes from the storage zone every file absent from site/dist
42+ # The storage zone primary region is Stockholm, hence the se. endpoint
43+ - name: Deploy to Bunny CDN
44+ uses: R-J-dev/bunny-deploy@v2.1.1
45+ with:
46+ access-key: ${{ secrets.BUNNY_ACCESS_KEY }}
47+ directory-to-upload: "site/dist"
48+ storage-endpoint: "https://se.storage.bunnycdn.com"
49+ storage-zone-name: ${{ vars.BUNNY_STORAGE_ZONE }}
50+ storage-zone-password: ${{ secrets.BUNNY_STORAGE_ZONE_PASSWORD }}
51+ enable-delete-action: true
52+ enable-purge-pull-zone: true
53+ pull-zone-id: ${{ vars.BUNNY_PULL_ZONE_ID }}
54+ concurrency: 50
55+ replication-timeout: "15000"
56+ request-timeout: "15000"
57+ retry-limit: "6"
new file mode 100644
@@ -0,0 +1,57 @@
1+# Builds the website (site/) and uploads it to Bunny CDN, served as https://daryl.eventuallymaking.io.
2+# Only runs when the site, the screenshots or the logo it uses, or this file change.
3+#
4+# The build has no dependencies (plain node), so there is no install step and ubuntu-latest is enough.
5+#
6+# Repository settings: secrets BUNNY_ACCESS_KEY and BUNNY_STORAGE_ZONE_PASSWORD, variables
7+# BUNNY_STORAGE_ZONE (storage zone name) and BUNNY_PULL_ZONE_ID (pull zone purged after the upload).
8+name: Deploy site
9+
10+on:
11+ push:
12+ branches: ["main"]
13+ paths:
14+ - "site/**"
15+ - "media/screenshots/**"
16+ - "web/public/favicon.svg"
17+ - ".rickub/workflows/deploy-site.yml"
18+ workflow_dispatch:
19+
20+# Workflow level: rickub ignores job-level concurrency. Deployments queue, none is cancelled
21+concurrency:
22+ group: deploy-site
23+ cancel-in-progress: false
24+
25+jobs:
26+ deploy:
27+ runs-on: ubuntu-latest
28+
29+ steps:
30+ - name: Checkout code
31+ uses: actions/checkout@v4
32+
33+ - name: Setup Node.js
34+ uses: actions/setup-node@v4
35+ with:
36+ node-version: '22'
37+
38+ - name: Build site
39+ run: node site/build.mjs
40+
41+ # enable-delete-action removes from the storage zone every file absent from site/dist
42+ # The storage zone primary region is Stockholm, hence the se. endpoint
43+ - name: Deploy to Bunny CDN
44+ uses: R-J-dev/bunny-deploy@v2.1.1
45+ with:
46+ access-key: ${{ secrets.BUNNY_ACCESS_KEY }}
47+ directory-to-upload: "site/dist"
48+ storage-endpoint: "https://se.storage.bunnycdn.com"
49+ storage-zone-name: ${{ vars.BUNNY_STORAGE_ZONE }}
50+ storage-zone-password: ${{ secrets.BUNNY_STORAGE_ZONE_PASSWORD }}
51+ enable-delete-action: true
52+ enable-purge-pull-zone: true
53+ pull-zone-id: ${{ vars.BUNNY_PULL_ZONE_ID }}
54+ concurrency: 50
55+ replication-timeout: "15000"
56+ request-timeout: "15000"
57+ retry-limit: "6"