Skip to content

Fix GitHub Pages deploy and harden CI workflows#18

Merged
thelooter merged 1 commit into
mainfrom
fix/github-pages-deploy
Jul 1, 2026
Merged

Fix GitHub Pages deploy and harden CI workflows#18
thelooter merged 1 commit into
mainfrom
fix/github-pages-deploy

Conversation

@thelooter

Copy link
Copy Markdown
Contributor

What

The GitHub Pages mirror build was failing because actions/upload-pages-artifact@v1
transitively depends on the now-deprecated actions/upload-artifact@v3, which
GitHub hard-fails. This fixes that and hardens both workflows.

Context: GitHub Pages is the secondary mirror (served at /web/); the
production site is on Cloudflare at the root of mockbukkit.org. The
NUXT_APP_BASE_URL=/web/ build flag is correct and intentionally unchanged.

Changes

  • Bump all actions to their latest releases — fixes the deprecated-artifact
    failure on upload-pages-artifact and deploy-pages.
  • Pin every action to a full commit SHA (with a # vX.Y.Z comment) so a
    tampered or repointed tag cannot reach CI — supply-chain hardening.
  • pnpm install --frozen-lockfile in both workflows, so CI fails on lockfile
    drift instead of silently resolving new versions.
  • Build with pnpm exec (locked Nuxt from node_modules) instead of
    pnpm dlx, which fetched a fresh, unpinned Nuxt from the registry.

Verification

  • Both workflow files validated as parseable YAML.
  • pnpm install --frozen-lockfile confirmed to pass against the committed
    lockfile locally (no pre-existing drift, so this won't red-X the first run).
  • Latest versions + SHAs resolved against the GitHub API at authoring time.

Follow-up (not in this PR)

Nothing currently bumps the new SHA pins (no Renovate config in the repo; Snyk
only covers app deps). Consider adding a .github/dependabot.yml for the
github-actions ecosystem to keep the digests patched.

The Pages build was failing because actions/upload-pages-artifact@v1
transitively depends on the now-deprecated actions/upload-artifact@v3,
which GitHub hard-fails.

- Bump all actions to their latest releases (fixes the deprecated
  artifact failure on upload-pages-artifact and deploy-pages)
- Pin every action to a full commit SHA with a version comment so a
  tampered/repointed tag cannot reach CI (supply-chain hardening)
- Use pnpm install --frozen-lockfile so CI fails on lockfile drift
  instead of silently resolving new versions
- Build with pnpm exec (locked Nuxt from node_modules) instead of
  pnpm dlx, which fetched a fresh, unpinned Nuxt from the registry
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying web with  Cloudflare Pages  Cloudflare Pages

Latest commit: 04db9d4
Status: ✅  Deploy successful!
Preview URL: https://397f98a5.web-9b9.pages.dev
Branch Preview URL: https://fix-github-pages-deploy.web-9b9.pages.dev

View logs

@thelooter thelooter merged commit f05c965 into main Jul 1, 2026
3 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.

3 participants