Update docs builder 2 #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: docs | |
on: | |
push: | |
branches: | |
- master | |
paths: | |
- 'doc/**' | |
pull_request: | |
branches: | |
- master | |
paths: | |
- 'doc/**' | |
workflow_dispatch: | |
permissions: | |
contents: read | |
jobs: | |
cleanup: | |
permissions: | |
contents: write # for git push | |
name: Cleanup branch previews | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: 'gh-pages' | |
fetch-depth: 0 | |
lfs: true | |
path: gh-pages | |
- name: Remove branch previews | |
run: | | |
pushd $GITHUB_WORKSPACE/gh-pages | |
if [[ -e "$GITHUB_WORKSPACE/gh-pages/branch" ]]; then | |
ls -la "$GITHUB_WORKSPACE/gh-pages/branch" | |
for name in `ls branch/` | |
do | |
if [[ -z "$(git show-ref --quiet ${name})" ]] | |
then | |
git rm -rf branch/${name} | |
echo "Removed $GITHUB_WORKSPACE/gh-pages/branch/${name}" | |
fi | |
done | |
git config user.name github-actions[bot] | |
git config user.email github-actions[bot]@users.noreply.github.com | |
git commit -m "Clean up branch previews" | |
git push | |
fi | |
echo "Done cleaning branches" | |
test-build: | |
permissions: | |
contents: write # for peaceiris/actions-gh-pages to push | |
pull-requests: write # to comment on pull requests | |
pages: write | |
needs: cleanup | |
if: ${{ always() }} | |
name: Test building documentation | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
lfs: true | |
- name: Install python 3.x | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.x' | |
# https://github.com/actions/cache/blob/main/examples.md#python---pip | |
- name: Cache pip | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('doc/requirements.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Install dependencies | |
run: | | |
pip install -r doc/requirements.txt | |
# Build documentation under ${PWD}/_build | |
- name: Build Sphinx docs | |
run: | | |
make BUILDDIR=${PWD}/_build -C doc/ html |