Deployment Setup

The site is published via a GitHub Actions workflow that builds Quartz and deploys the output to Cloudflare Pages on every push to the v4 branch.


Pipeline overview

git push (v4 branch)
  → GitHub Actions: .github/workflows/deploy.yaml
    → npm ci
    → npx quartz build   (output: public/)
    → wrangler pages deploy public --project-name=home-docs
  → Cloudflare Pages: home-docs project
    → https://docs.cornillaud.com

GitHub Actions workflow

File: .github/workflows/deploy.yaml

Triggers on push to v4 and manual workflow_dispatch. Uses cloudflare/wrangler-action@v3 for the deploy step.

GitHub secrets required

SecretDescription
CLOUDFLARE_API_TOKENCloudflare Account API token with Cloudflare Pages: Edit permission
CLOUDFLARE_ACCOUNT_ID80342ba0bd1d0ab8114249ad2a6b05e4

The API token is stored in 1Password (item psmsr76pdhgqmhsv6ddslwzyxm, field “Account API Token for home-docs pages deploy”).

Cloudflare Pages project

  • Project name: home-docs
  • Production branch: v4
  • Default URL: https://home-docs-awc.pages.dev
  • Custom domain: https://docs.cornillaud.com
  • Setup method: Direct upload (wrangler) — Cloudflare does not run the build

Build commands (local)

# Build only
npx quartz build
 
# Build + local preview
npx quartz build --serve

Tools

  • gh CLI installed via Homebrew — used for managing GitHub secrets
  • op CLI (1Password) available for secret retrieval