Skip to content

Host the website a little differently #585

@sidvishnoi

Description

@sidvishnoi

Presently, we use GitHub pages based deployment to deploy the website. There's no automatic way to build & validate the spec along with it. The deployment previews are done via Netlify, but the production site is hosted via GitHub pages (artifact based workflow).

If we move site site hosting to Cloudflare 1, we can improve things a bit. Plan:

  • Host static website on Cloudflare.
  • Setup deploy previews via Cloudflare as well, and remove Netlify dependency.
  • We can get staging env setup more easily as everything belongs within Cloudflare.
  • Use w3c/spec-prod GitHub action for managing spec deployments.
    • This will deploy the spec on GitHub pages.
    • We will add a route rule in Cloudflare such that /specification/* is proxied to GitHub pages.
    • With spec-prod, we get spec validation on every PR that touches spec.
    • We won't have to manually update spec builds 2,
      • and GitHub actions rule ensure the spec is published only when there's a change to the spec, not on changes to other parts of website, keeping spec changes better listed in git (as spec-prod deploys to gh-pages branch instead of artifact).
    • Rename specification-respec.html to index.html so dev builds and Cloudflare deploy previews can still preview the ReSpec document on /specification, even if it's not built.
    • https://wicg.github.io/webmonetization can then belong to specification only (if wanted), and https://webmonetization.org/ can be for entire website include the spec.

Footnotes

  1. or we can use Netlify, but publisher-tools are hosted on Cloudflare, so makes sense to use Cloudflare here as well. Also, the "rules" in Cloudflare let us manage the hosting better than Netlify.

  2. https://github.com/WICG/webmonetization/pull/458#issuecomment-2175754988, https://github.com/WICG/webmonetization/pull/520#discussion_r2037049374

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions