docs(ci): Add workflow to build and deploy docs

Separate workflows for `push` and `pull_request` events. This avoids a `skipped` job status (`Check Run`?) always being presented for the `deploy` job in Pull Requests.

---

chore(`.gitignore`): Ignore the `docs/site/` build output

Ignore to avoid local builds output appearing in git as unstaged.
This commit is contained in:
polarathene 2021-03-01 01:14:12 +13:00
parent 48cf6ffeb0
commit 95983cbebc
3 changed files with 57 additions and 0 deletions

33
.github/workflows/deploy-docs.yml vendored Normal file
View file

@ -0,0 +1,33 @@
name: 'Documentation'
on:
workflow_dispatch:
push:
branches:
- master
paths:
- '.github/workflows/deploy-docs.yml'
- 'docs/**'
# Jobs will run shell commands from this subdirectory:
defaults:
run:
working-directory: docs
jobs:
deploy:
name: 'Deploy Docs'
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: 'Build with mkdocs-material via Docker'
run: docker run --rm -v ${PWD}:/docs squidfunk/mkdocs-material build --strict
- name: 'Deploy to Github Pages'
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/site
user_name: 'github-actions[bot]'
user_email: '41898282+github-actions[bot]@users.noreply.github.com'

22
.github/workflows/pr-docs.yml vendored Normal file
View file

@ -0,0 +1,22 @@
name: 'Documentation'
on:
pull_request:
paths:
- '.github/workflows/pr-docs.yml'
- 'docs/**'
# Jobs will run shell commands from this subdirectory:
defaults:
run:
working-directory: docs
jobs:
build:
name: 'Verify Build'
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: 'Build with mkdocs-material via Docker'
run: docker run --rm -v ${PWD}:/docs squidfunk/mkdocs-material build --strict

2
.gitignore vendored
View file

@ -46,3 +46,5 @@ test/duplicate_configs
config.bak config.bak
testconfig.bak testconfig.bak
docs/site