Files
nxdns/.gitea/workflows/site.yml
T
mokhtar 7e0664250b
Gates / test (push) Successful in 2m40s
Site / deploy (push) Failing after 2m17s
Gates / frontend (push) Successful in 2m12s
Gates / test-aarch64 (push) Successful in 8m11s
Gates / package (push) Successful in 5m4s
Gates / container (push) Successful in 19s
CI / gates (push) Successful in 16m18s
ci: build nxdns.sh and deploy it as a cloudflare worker with static assets
2026-10-21 17:31:06 +02:00

57 lines
1.7 KiB
YAML

name: Site
# Builds nxdns.sh and deploys it as a Cloudflare Worker serving static assets,
# configured in website/wrangler.jsonc, domain included. Cloudflare has no Gitea
# integration, so the build runs here and wrangler uploads it.
#
# The site publishes docs/ and CHANGELOG.md as they stand, and reads the release
# from build.zig.zon, so a change to any of them changes the site.
#
# Secret CLOUDFLARE_API_TOKEN: a token from the "Edit Cloudflare Workers"
# template, limited to this account and the nxdns.sh zone. Variable
# CLOUDFLARE_ACCOUNT_ID.
on:
push:
branches: [master]
paths:
- "website/**"
- "docs/**"
- "CHANGELOG.md"
- "build.zig.zon"
- ".gitea/workflows/site.yml"
workflow_dispatch:
concurrency:
group: site
cancel-in-progress: false
env:
NODE_VERSION: "24.19.0"
# The newest wrangler older than npm's release-age floor on the day it was pinned.
WRANGLER_VERSION: "4.148.0"
jobs:
deploy:
runs-on: ubuntu-24.04-light
timeout-minutes: 10
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
- name: Set up Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ env.NODE_VERSION }}
- name: Build
working-directory: website
run: |
npm ci
npm run build
- name: Deploy
working-directory: website
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ vars.CLOUDFLARE_ACCOUNT_ID }}
run: npx --yes "wrangler@${WRANGLER_VERSION:?}" deploy --message "${GITHUB_SHA:?}"