Skip to content

Deploy site via GitHub Actions instead of branch-based Pages - #11

Merged
AutomatedTester merged 1 commit into
trunkfrom
actions-pages-deploy
Aug 13, 2026
Merged

Deploy site via GitHub Actions instead of branch-based Pages#11
AutomatedTester merged 1 commit into
trunkfrom
actions-pages-deploy

Conversation

@AutomatedTester

Copy link
Copy Markdown
Owner

Why

Run 31505521515 warns:

Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/upload-artifact@v4

Neither of those is pinned anywhere in this repo. Pages is currently set to Deploy from a branch (trunk/docs), so GitHub generates and runs its own pages-build-deployment workflow, and those @v4 pins live in GitHub's infrastructure. There is no version here to bump — the only way to control the action versions is to own the deploy.

What

Adds .github/workflows/deploy.yml, building the site with Hugo and publishing through the Pages deploy actions:

action version runtime
actions/checkout v7 Node 24
actions/configure-pages v6 Node 24
actions/upload-pages-artifact v5 Node 24
actions/deploy-pages v5 Node 24

Runner is ubuntu-24.04. ubuntu-26.04 exists but is still flagged preview in actions/runner-images, which isn't a great bet for the deploy path.

No setup-node step is needed — Hugo is a static binary, so the Node version here is dictated purely by the actions' own runtimes. Current majors are on Node 24, so the warning goes away on its own.

Side benefit: the legacy path wastes a "Build with Jekyll" step on already-built Hugo output (hence the .nojekyll). This skips it.

Testing this PR

pull_request is a trigger, and the deploy job is gated behind if: github.event_name != 'pull_request' — so this PR exercises the full build and artifact upload without touching the live site.

⚠️ Before merging

The deploy will fail until the Pages source is switched from Deploy from a branch to GitHub Actions (Settings → Pages). The build half is safe to verify on this PR either way; only the post-merge deploy depends on that flip.

Follow-up

Once this is live, the 92 tracked files under docs/ become build output nobody reads and can be git rm --cached'd with a .gitignore entry.

🤖 Generated with Claude Code

The Pages source is currently "deploy from a branch" (trunk /docs), so
GitHub generates and runs its own pages-build-deployment workflow. That
generated workflow pins actions/checkout@v4 and actions/upload-artifact@v4,
which target Node.js 20 and now emit a deprecation warning on every run.
Those versions live in GitHub's infrastructure, not this repo, so there is
nothing here to bump.

Take ownership of the deploy instead. All four actions are on current
majors, which run on Node.js 24, clearing the warning. This also drops the
pointless "Build with Jekyll" step the legacy path runs against our
already-built Hugo output.

Pull requests build only; deploys are gated to non-PR events.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@AutomatedTester
AutomatedTester merged commit f64c43d into trunk Aug 13, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant