Workflows
The demo sites created from the Coursware Template, as GitHub Workflow Action YAML configured. The Action publishess the github pages automatically when updates are pushed to master branch.
name: Site Docs
on:
push: (1)
branches: (2)
- master
env:
SITE_DIR: "gh-pages"
jobs:
build_site:
name: "Build site with Antora"
runs-on: [ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: "Generate site using antora site action"
uses: kameshsampath/antora-site-action@master
with:
antora_playbook: site.yml
- name: "Upload generated site"
uses: actions/upload-artifact@v1.0.0
with:
name: site
path: "${{ github.workspace }}/${{ env.SITE_DIR }}"
deploy_site:
runs-on: [ubuntu-latest]
needs: [build_site]
name: "Deploy GitHub Pages"
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Download generated site
uses: actions/download-artifact@v1
with:
name: site
path: "${{ github.workspace }}/${{ env.SITE_DIR }}"
- name: Deploy to GitHub Pages
uses: JamesIves/github-pages-deploy-action@3.2.1
with:
# ACCESS_TOKEN: # optional
GITHUB_TOKEN: "${{ github.token}}"
FOLDER: "${{ env.SITE_DIR }}"
BRANCH: "gh-pages"
COMMIT_MESSAGE: "[CI] Publish Documentation for ${{ github.sha }}"
1 | GitHub Event to trigger the Workflow |
2 | Github Event branch(es) |
If you want to restrict the gh-pages pushes to production branches, you can update the branches attribute to match the production branch.