Skip to content
Latchkey

actions/deploy-pages "deployment failed" - Causes & Fix

actions/deploy-pages creates a deployment to the github-pages environment. Environment protection rules that the ref does not satisfy, missing pages/id-token permissions, or no uploaded Pages artifact all fail the deployment.

What this error means

A deploy-pages step fails creating or completing the deployment, sometimes citing the environment, a protection rule, or a missing artifact.

github-actions
Error: Creating Pages deployment failed
Error: HttpError: Branch "feature/x" is not allowed to deploy to github-pages due to environment protection rules.

Common causes

Environment protection rule blocks the ref

The github-pages environment can restrict which branches may deploy; a non-allowed branch is rejected.

Missing permissions or artifact

Without pages: write and id-token: write, or without an uploaded Pages artifact, the deploy cannot complete.

How to fix it

Align environment, permissions, and artifact

  1. Allow the deploying branch in the github-pages environment rules.
  2. Set pages: write and id-token: write on the job and reference the environment.
  3. Ensure upload-pages-artifact ran before deploy-pages.
.github/workflows/pages.yml
permissions:
  pages: write
  id-token: write
environment:
  name: github-pages
steps:
  - uses: actions/deploy-pages@v4

How to prevent it

  • Configure the github-pages environment to allow your deploy branches.
  • Keep the upload then deploy ordering intact.

Frequently asked questions

What causes ""deploy-pages: deployment failed""?
The github-pages environment can restrict which branches may deploy; a non-allowed branch is rejected.
How do I fix "deploy-pages: deployment failed"?
Align environment, permissions, and artifact

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card