Zola deploy action
Github action for building a Zola site and deploying to Github Pages
A GitHub action to automatically build and deploy your [zola] site to the master branch as GitHub Pages. The project is written primarily in HTML, distributed under the MIT License license, first published in 2019. Key topics include: actions, github, github-actions, zola.
Zola Deploy Action
A GitHub action to automatically build and deploy your zola site to the master
branch as GitHub Pages.
Table of Contents
Usage
In your repository Settings > Actions > General, in Workflow permissions, make sure that GITHUB_TOKEN has Read and Write permissions.
This example will build and deploy to gh-pages on push to the main branch.
ymlname: Zola on GitHub Pages on: push: branches: - main jobs: build: name: Publish site runs-on: ubuntu-latest steps: - name: Checkout main uses: actions/checkout@v4 - name: Build and deploy uses: shalzz/zola-deploy-action@v0.22.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
The action's version tags follow the version of Zola that should be used to build.
To use Zola v0.21.0 for instance, specify shalzz/zola-deploy-action@v0.21.0.
This example will build and deploy to gh-pages branch on a push to the main branch,
and it will build only on pull requests.
ymlname: Zola on GitHub Pages on: push: branches: - main pull_request: jobs: build: runs-on: ubuntu-latest if: github.ref != 'refs/heads/main' steps: - name: Checkout main uses: actions/checkout@v4 - name: Build only uses: shalzz/zola-deploy-action@v0.22.1 env: BUILD_DIR: docs BUILD_ONLY: true BUILD_FLAGS: --drafts # A GitHub token is not necessary when BUILD_ONLY is true # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build_and_deploy: runs-on: ubuntu-latest if: github.ref == 'refs/heads/main' steps: - name: Checkout main uses: actions/checkout@v4 - name: Build and deploy uses: shalzz/zola-deploy-action@v0.22.1 env: BUILD_DIR: docs PAGES_BRANCH: gh-pages GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Environment Variables
PAGES_BRANCH: The git branch of your repo to which the built static files will be pushed. Default isgh-pagesbranchREPOSITORY: The target repository to push to. Default isGITHUB_REPOSITORY(current repository). Set this variable if you want to deploy to other repo.BUILD_DIR: The path from the root of the repo where we should run thezola buildcommand. Default is.(current directory)OUT_DIR: The build output directory ofzola build. Default ispublicBUILD_FLAGS: Custom build flags that you want to pass to zola while building. (Be careful supplying a different build output directory might break the action).BUILD_ONLY: Set to valuetrueif you don't want to deploy afterzola build.BUILD_THEMES: Set to false to disable fetching themes submodules. Defaulttrue.CHECK_LINKS: Set totrueto check links withzola check.CHECK_FLAGS: Custom check flags that you want to pass tozola check.GITHUB_HOSTNAME: The Github hostname to use in your action. This is to account for Enterprise instances where the base URL differs from the default, which isgithub.com.
Custom Domain
If you're using a custom domain for your GitHub Pages site put the CNAME
in static/CNAME so that zola puts it in the root of the public folder
which is where GitHub expects it to be.
Thanks and enjoy your day!
<a href="https://www.buymeacoffee.com/shaleen"><img src="https://img.buymeacoffee.com/button-api/?text=Buy me a Beer&emoji=🍺&slug=shaleen&button_colour=40DCA5&font_colour=ffffff&font_family=Bree&outline_colour=000000&coffee_colour=FFDD00" /></a>
Contributors
Showing top 12 contributors by commit count.
