Skip to content

GitHub Action

GitHub Pages

v1.2.5 Latest version
Use latest version

GitHub Pages

GitHub Action to deploy to GitHub Pages


Copy and paste the following snippet into your .yml file.

- name: GitHub Pages
  uses: crazy-max/ghaction-github-pages@v1.2.5
Learn more about this action in crazy-max/ghaction-github-pages
Choose a version

GitHub release GitHub marketplace Test workflow Become a sponsor Paypal Donate


A GitHub Action to deploy to GitHub Pages

If you are interested, check out my other :octocat: GitHub Actions!

🚀 Usage

Below is a simple snippet to deploy to GitHub Pages. A test example is also available for this repository.

name: website

on: push

    runs-on: ubuntu-latest
        name: Checkout
        uses: actions/checkout@v1
        name: Build
        run: |
          mkdir public
          cat > public/index.html <<EOL
          <!doctype html>
              <title>GitHub Pages deployed!</title>
              <p>GitHub Pages with <strong>${{ github.sha }}</strong> commit ID has been deployed through <a href="">GitHub Pages action</a> successfully.</p>
        name: Deploy
        if: success()
        uses: crazy-max/ghaction-github-pages@v1
          target_branch: gh-pages
          build_dir: public
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

💅 Customizing


Following inputs can be used as step.with keys

Name Type Description
repo String GitHub repository where assets will be deployed (default current)
target_branch String Git branch where assets will be deployed (default gh-pages)
keep_history Bool Create incremental commit instead of doing push force (default false)
allow_empty_commit Bool Allow an empty commit to be created (default true)
build_dir String Build directory to deploy (required)
committer_name String Commit author's name (default GITHUB_ACTOR or github-actions)
committer_email String Commit author's email (default <committer_name>
commit_message String Commit message (default Deploy to GitHub pages)
fqdn String Write the given domain name to the CNAME file

environment variables

Following environment variables can be used as step.env keys

Name Description
GITHUB_TOKEN GITHUB_TOKEN as provided by secrets
GITHUB_PAT Personal Access Token (see Limitation section below)

⚠️ Limitation

Currently, GITHUB_TOKEN does not suffice to trigger a page build on a public repository (propagate content to the GitHub content-delivery network). You must therefore create a custom Personal Access Token and use it through the GITHUB_PAT environment variable:

- name: Deploy
  if: success()
  uses: crazy-max/ghaction-github-pages@v1
    target_branch: gh-pages
    build_dir: public
    GITHUB_PAT: ${{ secrets.GITHUB_PAT }}

🤝 How can I help ?

All kinds of contributions are welcome 🙌! The most basic way to show your support is to star 🌟 the project, or to raise issues 💬 You can also support this project by becoming a sponsor on GitHub 👏 or by making a Paypal donation to ensure this journey continues indefinitely! 🚀

Thanks again for your support, it is much appreciated! 🙏

📝 License

MIT. See LICENSE for more details.

You can’t perform that action at this time.