GitHub Pages deployment
Documentation is published by .github/workflows/docs.yml.
Pipeline
On a push to main that changes documentation, the lockfile, package metadata, or the workflow:
- GitHub checks out full history.
- CI installs the pinned pnpm and Node versions.
- Dependencies are installed from the frozen lockfile.
- VitePress builds
docs/.vitepress/dist. - The build directory is uploaded as a Pages artifact.
- The deploy job publishes that artifact to the
github-pagesenvironment.
The workflow also supports manual dispatch. Deployment concurrency does not cancel an in-progress publish, preventing a partially replaced Pages release.
Repository setup
In Settings → Pages, set the build and deployment source to GitHub Actions. The workflow requires these permissions, declared at workflow level:
contents: readpages: writeid-token: write
The expected site URL is https://sassanh.github.io/requireganizer/.
Pull-request validation
The quality workflow builds the docs through pnpm run check, but it does not publish from pull requests. Only the dedicated Pages workflow deploys, and only from main or a manual run.
Troubleshooting
- A blank or asset-less page usually indicates an incorrect VitePress
base. - A missing package during CI usually means
pnpm-lock.yamlwas not updated withpackage.json. - A deployment permission error usually means Pages is not configured for GitHub Actions or the workflow permissions were changed.
- Broken internal links fail
pnpm run docs:build; fix them before deployment.