Need help with ghaction-github-pages?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

crazy-max
221 Stars 21 Forks MIT License 298 Commits 4 Opened issues

Description

:octocat: GitHub Action to deploy to GitHub Pages

Services available

!
?

Need anything else?

Contributors list

# 8,463
Go
golang
github-...
telemet...
193 commits
# 241,445
restful...
stress-...
Node.js
HTML
1 commit
# 337,045
HTML
CSS
Shell
github-...
1 commit
# 146,076
HTML
hangfir...
C#
.NET
1 commit
# 132,698
Rust
pdf-doc...
solariz...
intelli...
1 commit
# 319,644
dynamod...
SQL
Kuberne...
Go
1 commit
# 705,089
HTML
PHP
Shell
github-...
1 commit

GitHub release GitHub marketplace CI workflow Become a sponsor Paypal Donate

About

A GitHub Action to deploy to GitHub Pages

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

GitHub Pages


Usage

Workflow

Below is a simple snippet to deploy to GitHub Pages with a dummy HTML page.

A workflow is also available for this repository and deploys everyday to GitHub pages.

name: website

on: push

jobs: publish: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/[email protected] - name: Gen dummy page run: | mkdir public cat > public/index.html <

          <title>GitHub Pages deployed!</title>


          <p>GitHub Pages with <strong>${{ github.sha }}</strong> commit ID has been deployed through <a href="https://github.com/marketplace/actions/github-pages">GitHub Pages action</a> successfully.</p>


      EOL
  -
    name: Deploy to GitHub Pages
    if: success()
    uses: crazy-max/[email protected]
    with:
      target_branch: gh-pages
      build_dir: public
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Sign commits

You can use the Import GPG GitHub Action along with this one to sign commits:

      -
        name: Import GPG key
        uses: crazy-max/[email protected]
        with:
          gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
          passphrase: ${{ secrets.PASSPHRASE }}
          git-user-signingkey: true
          git-commit-gpgsign: true
      -
        name: Deploy to GitHub Pages
        if: success()
        uses: crazy-max/[email protected]
        with:
          target_branch: gh-pages
          build_dir: public
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Check availability of GitHub Pages

You can use the GitHub Status Action along with this one to check availability of GitHub Pages before deploying:

      -
        name: Check GitHub Pages status
        uses: crazy-max/[email protected]
        with:
          pages_threshold: major_outage
      -
        name: Deploy to GitHub Pages
        if: success()
        uses: crazy-max/[email protected]
        with:
          target_branch: gh-pages
          build_dir: public
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Customizing

inputs

Following inputs can be used as

step.with
keys

| Name | Type | Description | |----------------------|---------|--------------------------------------------------------------------------------| |

domain
| String | Git domain (default
github.com
) | |
repo
| String | GitHub repository where assets will be deployed (default
$GITHUB_REPOSITORY
) | |
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
| String | Committer name and email address as
Display Name 
(defaults to the GitHub Actions bot user) | |
author
| String | Author name and email address as
Display Name 
(defaults to the GitHub Actions bot user) | |
commit_message
| String | Commit message (default
Deploy to GitHub pages
) | |
fqdn
| String | Write the given domain name to the CNAME file | |
jekyll
| Bool | Allow Jekyll to build your site (default
true
) | |
dry_run
| Bool | If enabled, nothing will be pushed (default
false
) | |
verbose
| Bool | Enable verbose output (default
false
) |

environment variables

Following environment variables can be used as

step.env
keys

| Name | Description | |----------------|---------------------------------------| |

GITHUB_TOKEN
| GITHUB_TOKEN as provided by
secrets
| |
GH_PAT
| Use a Personal Access Token if you want to deploy to another repo |

Contributing

Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. If you want to open a pull request, please read the contributing guidelines.

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! :pray:

License

MIT. See

LICENSE
for more details.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.