47 lines
1.5 KiB
YAML
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 }} |