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.