The smallest correct path to publish the static landing page:
- `.github/workflows/pages.yml` uses the official actions/configure-pages
+ upload-pages-artifact + deploy-pages chain to upload ./website as
the Pages site on every push to main that touches website/ or the
workflow itself, plus a workflow_dispatch trigger for the first
manual deploy.
- No content changes to the landing page, no framework, no build step —
pure HTML + CSS uploaded as-is.
- Not chosen: moving website/ into docs/ to use the legacy "Deploy from
a branch" path. docs/ already holds developer-facing API.md /
DEMO_SCRIPT.md / assets; mixing those with the marketing landing page
would conflate concerns and start exposing internal docs at the Pages
URL.
One-time manual setup on GitHub (cannot be done from a workflow file):
Settings -> Pages -> Build and deployment -> Source: GitHub Actions
After that, every push to main that touches website/ auto-publishes.
The first deploy can be triggered from the Actions tab via
workflow_dispatch. The site URL appears as the environment URL on the
workflow run and will default to https://<owner>.github.io/<repo>/.
Verified: YAML parses cleanly; the upload path ./website exists with
index.html; official action versions pinned (checkout@v4,
configure-pages@v5, upload-pages-artifact@v3, deploy-pages@v4).