Skip to content

Deploy the documentation site

This docs site is an Astro + Starlight project in docs-site/. It deploys to GitHub Pages at https://quoptuna.org (custom domain, set by docs-site/public/CNAME) via a GitHub Actions workflow.

Terminal window
cd docs-site
npm install
npm run build

Static output lands in docs-site/dist/.

Terminal window
cd docs-site
npm run dev

The dev server defaults to http://localhost:4321.

The Deploy Documentation workflow (.github/workflows/docs.yml) triggers on pushes to main or master that touch docs-site/** (or the workflow itself), and can be run manually. It runs npm ci && npm run build on Node 20, uploads dist/ with actions/upload-pages-artifact, and publishes it with actions/deploy-pages.

The site is served from the root of the custom domain, so astro.config.mjs sets:

SettingValueOverridable via
sitehttps://quoptuna.orgDOCS_SITE env
base/DOCS_BASE env

The env overrides exist for PR preview builds.

Pull requests that touch docs-site/** run the Docs Preview workflow (.github/workflows/docs-preview.yml), which builds the site and posts a sticky comment on the PR. No preview host is configured yet, so the comment confirms a successful build rather than linking to a live preview; wiring a host into the workflow’s TODO(host) block makes it post the preview URL.