chore(ci): migrate deploy-website to official GitHub Pages actions#169
Merged
Conversation
- Replace `peaceiris/actions-gh-pages@v4` with the official Pages flow: `actions/configure-pages@v5` + `actions/upload-pages-artifact@v3` + `actions/deploy-pages@v4`. Split into `build` + `deploy` jobs per the GitHub-recommended pattern. - Bump `actions/checkout@v4 → v6` and `actions/setup-node@v4 → v5` to silence the Node.js 20 deprecation warning (jun 2026 cutoff). Both release workflows are already on `checkout@v6`. - Bump runtime Node to 22 LTS (current LTS; 20 enters maintenance soon). - Permissions rewritten to the minimum required by the official flow: `contents: read`, `pages: write`, `id-token: write` (OIDC for deploy-pages). **Breaking deployment-mechanism change**: after merging, GitHub Pages Settings → Pages → Source must switch from "Deploy from a branch" (gh-pages) to "GitHub Actions". The current `gh-pages` branch is left intact but stops being the publish target. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6 tasks
This was referenced May 19, 2026
montfort
added a commit
that referenced
this pull request
May 19, 2026
Distill the operational knowledge accumulated across PRs #169–#171 into a new top-level §Website section in CLAUDE.md so future sessions don't have to rediscover it. Sections added: - Layout of `website/` and what each subdir is for. - npm scripts table (start/build/sync:docs/migrate:blog/clear/typecheck/ write-translations). - i18n: how locales are wired (locales array, code.json, blog translations, docs mirror via sync:docs, theme overrides). - Deploy pipeline (`deploy-website.yml` jobs + permissions, repo-side Pages config with `build_type=workflow` / `cname` / `https_enforced`). - Custom domain workflow (CNAME + url + API cname must all change together). - Build gotchas: slow-tail, no-parallel builds, avoid pipe-to-tail, `exclude` semantics, Pages source migration trap. - Verification commands for deploys. Internal docs only (`CLAUDE.md` is not shipped to adopters). Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
peaceiris/actions-gh-pages@v4with the official GitHub Pages flow:actions/configure-pages@v5+actions/upload-pages-artifact@v3+actions/deploy-pages@v4. Splits intobuild+deployjobs per the GitHub-recommended pattern.actions/checkout@v4 → v6andactions/setup-node@v4 → v5to silence the Node.js 20 deprecation warning (jun 2026 cutoff). The release workflows are already on@v6.contents: read,pages: write,id-token: write(OIDC fordeploy-pages).Breaking deployment change
After merging this PR, the GitHub Pages source must be switched manually:
The existing
gh-pagesbranch is left untouched but stops being the publish target. The current site keeps serving from thegh-pagesbranch's last commit until the Settings flip — after the flip, the first run of this workflow will deploy from the workflow artifact.Test plan
🤖 Generated with Claude Code