You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.7 KiB
2.7 KiB
| title | status | type | priority | created_at | updated_at |
|---|---|---|---|---|---|
| [TRIAGE] Cloudflare Pages build strategy — Pages CI build vs pre-built trunk artifact upload | completed | task | critical | 2026-03-10T23:32:12Z | 2026-03-10T23:32:12Z |
Rationale:
- Pages CI build is not viable: Cloudflare Pages CI supports Node.js, Python, Ruby, Go — not Rust or Nix. Installing
rustup+wasm32target +trunkin a Pages build script is slow (~3–5 min per build), non-reproducible, and fragile. Nix flakes are not available in the Pages build sandbox at all. - OpenTofu does not upload artifacts: The
cloudflare_pages_projectresource creates and configures the project, but Terraform/OpenTofu is not designed to upload build artifacts — that is a CD concern, not infrastructure state. - Gitea Actions + wrangler is the standard pattern: Gitea Actions uses GitHub Actions-compatible YAML syntax. The workflow builds the Wasm artifact with
trunk build --releasethen deploys withwrangler pages deploy dist/.
Split of responsibilities:
- OpenTofu (
infra/pages.tf): createcloudflare_pages_projectwith direct-upload config (no git connection), configure SPA routing, bind custom domain. Run once to provision. - Gitea Actions (
.gitea/workflows/deploy-ui.yml): on push toquotesdbbranch, build and deploy. Secrets:CLOUDFLARE_API_TOKEN,CLOUDFLARE_ACCOUNT_ID.
Implementation ticket: 5137d7
1. Research the options above and choose the best approach for this project. 2. Update ticket ae886f (Pages project resource) with the chosen strategy. Document the CI/CD flow in `infra/README.md`. 3. Mark this ticket done with a note on the chosen approach in the body or a comment. `chore(quotesdb): resolve triage — pages-build-strategy-gitea-actions-wrangler-deploy`