Skip to content

Upgrade deployment workflow to GitHub native actions#770

Merged
hemarina merged 4 commits intomainfrom
copilot/upgrade-deployment-workflow
Mar 18, 2026
Merged

Upgrade deployment workflow to GitHub native actions#770
hemarina merged 4 commits intomainfrom
copilot/upgrade-deployment-workflow

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 9, 2026

Upgrades the release.yml deployment workflow from the third-party peaceiris/actions-gh-pages@v3 to GitHub's native first-party Pages deployment actions.

Changes Made

  • Replaced peaceiris/actions-gh-pages@v3 with two GitHub-native steps:
    • actions/upload-pages-artifact@v3 — packages the Docusaurus build output as a GitHub Pages artifact
    • actions/deploy-pages@v4 — deploys the uploaded artifact to GitHub Pages
  • Updated permissions:
    • Removed contents: write (no longer needed; the native flow doesn't push to a gh-pages branch)
    • Changed contents to read
    • Added pages: write (required for Pages deployment)
    • Added deployments: write (required by actions/deploy-pages)
  • Added environment configuration on the job (name: github-pages, url: ${{ steps.deployment.outputs.page_url }}), enabling GitHub Pages environment protection rules and deployment status tracking in the GitHub UI
  • Added concurrency group (group: pages, cancel-in-progress: false) at the workflow level to prevent concurrent manual release runs from overwriting each other's deployment status or environment URL

Why

  • Eliminates third-party dependency in the deployment pipeline
  • Uses GitHub's officially supported Pages deployment flow
  • Better integration with GitHub Pages environments and deployment protection rules
  • Concurrent deployments are safely queued rather than cancelled
  • No functional change to the site itself
Original prompt

This section details on the original issue you should resolve

<issue_title>Upgrade deployment workflow from peaceiris/actions-gh-pages@v3 to GitHub native actions/deploy-pages</issue_title>
<issue_description>The release.yml workflow uses peaceiris/actions-gh-pages@v3 for GitHub Pages deployment. This is a third-party action that is now outdated (v4 exists), and GitHub provides native first-party actions for Pages deployment (actions/upload-pages-artifact + actions/deploy-pages).

Current: peaceiris/actions-gh-pages@v3
Proposed: actions/upload-pages-artifact@v4 + actions/deploy-pages@v4

Why:

  • Eliminates third-party dependency in the deployment pipeline
  • Uses GitHub's officially supported Pages deployment flow
  • Better integration with GitHub Pages environments and deployment protection rules
  • No functional change to the site itself</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

@hemarina
Copy link
Copy Markdown
Contributor

@copilot Continue running original prompt

…b native actions

Co-authored-by: hemarina <104857065+hemarina@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 11, 2026

@copilot Continue running original prompt

Done! Implemented the upgrade in commit c72d92b. Here's a summary of what changed in release.yml:

  • Replaced peaceiris/actions-gh-pages@v3 with two GitHub-native steps:
    • actions/upload-pages-artifact@v3 — uploads the built site as a Pages artifact
    • actions/deploy-pages@v4 — deploys the artifact to GitHub Pages
  • Updated permissions: removed contents: write (no longer needed), added pages: write and deployments: write
  • Added environment block with name: github-pages and the deployment URL output, enabling GitHub Pages environment protection rules and deployment tracking

Copilot AI changed the title [WIP] Upgrade deployment workflow to GitHub native actions Upgrade deployment workflow to GitHub native actions Mar 11, 2026
@hemarina hemarina marked this pull request as ready for review March 11, 2026 22:17
Copilot AI review requested due to automatic review settings March 11, 2026 22:18
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the manual release.yml workflow to deploy the Docusaurus site to GitHub Pages using GitHub’s first-party Pages deployment actions instead of a third-party gh-pages publisher action.

Changes:

  • Replaces peaceiris/actions-gh-pages@v3 with actions/upload-pages-artifact@v3 + actions/deploy-pages@v4.
  • Adjusts workflow permissions for the GitHub Pages OIDC-based deployment flow.
  • Adds a github-pages environment with the deployed page_url for environment tracking/protection.

You can also share your feedback on Copilot code review. Take the survey.

Comment thread .github/workflows/release.yml
Co-authored-by: hemarina <104857065+hemarina@users.noreply.github.com>
Comment thread .github/workflows/release.yml Outdated
@hemarina hemarina merged commit 2bc55c6 into main Mar 18, 2026
2 checks passed
@hemarina hemarina deleted the copilot/upgrade-deployment-workflow branch March 18, 2026 19:38
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.

Upgrade deployment workflow from peaceiris/actions-gh-pages@v3 to GitHub native actions/deploy-pages

4 participants