The built-in GITHUB_TOKEN has no write access to these packages, so every run
since 1773a0c ended in permission_denied: write_package. The build itself
succeeded, so the workflow looked healthy while the images silently stopped
being rebuilt — they had to be built and pushed by hand for weeks.
Uses a PAT with write:packages. Granting the packages write access to this
repo would let GITHUB_TOKEN come back and the secret go away.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KZntQUfw463NW4ftgSjWw5
publish-hugo and publish-helm share the deploy-gh-pages concurrency group with
cancel-in-progress, so a push touching both site/ and charts/ had one workflow
kill the other. That silently dropped the Hugo deploy of this branch: the site
reported success overall while the reference-page changes never shipped.
They publish different things to the same branch, so they still need to be
serialised — but by queueing, not by cancelling.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KZntQUfw463NW4ftgSjWw5
The GH_TOKEN secret expired, breaking both workflows: ghcr.io login
failed with "denied: denied" and the Helm chart push failed with
"Authentication failed".
Both jobs only act on this repository, so the ephemeral GITHUB_TOKEN
covers them. publish.yml already declares packages: write and
publish-helm.yml already declares contents: write. Nothing left to
rotate, and no broadly-scoped PAT sitting in Actions secrets.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JDk5guu51FjFxQMjgrrekW
Runs npm test (vitest) as a required job before build-and-push.
Catches runtime import errors like the createPortal/react-dom mistake.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Hugo < 0.154 doesn't resolve layouts/xslt/functions/single.html for
content under content/xslt/functions/ — it falls back to _default.
Aligning CI with the local version fixes the reference page layout.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Move site/ Hugo source from gh-pages to main so the workflow can trigger correctly
- Fix publish-hugo.yml: now in main, builds and deploys to gh-pages:docs/ via peaceiris/actions-gh-pages
- Add 3 new SEO articles: XSLT 3.0 features, beginners guide, template matching
- Add llms.txt to blog and frontend so ChatGPT/Gemini can recommend the tool better
- Remove stale /site mkdocs ignore rule, add site/public to gitignore instead
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>