ESBO-ETC/.github/workflows/deploy_docs.yml

47 lines
1.5 KiB
YAML

name: Deploy Docs
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
types: [ closed ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Create API docs
run: |
sphinx-apidoc -f -o docs/source/api esbo_etc
- name: Build docs
run: |
sphinx-build -b html docs/source docs/build/html
- name: Commit documentation changes
run: |
git clone https://github.com/LukasK13/ESBO-ETC.git --branch gh-pages --single-branch gh-pages
cp -r docs/build/html/* gh-pages
cd gh-pages
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add .
git commit -m "Update documentation" -a || true
# The above command will fail if no changes were present, so we ignore
# the return code.
- name: Push changes
uses: ad-m/github-push-action@master
with:
branch: gh-pages
directory: gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}