Skip to content

Dev: v0.1

Dev: v0.1 #3

Workflow file for this run

#
# sphinx-deploy.py
#
# Copyright The PyModulation Contributors.
#
# This file is part of PyModulation library.
#
# PyModulation library is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# PyModulation library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PyModulation library. If not, see <http://www.gnu.org/licenses/>.
#
#
name: Documentation deployment
on:
push:
branches: [main]
pull_request:
branches: [main]
# 'workflow_dispatch' allows manual execution of this workflow under the repository's 'Actions' tab
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Standard drop-in approach that should work for most people
- uses: ammaraskar/sphinx-action@master
with:
docs-folder: "docs/"
pre-build-command: "pip install --upgrade pip"
# Create an artifact of the html output
- uses: actions/upload-artifact@v4
with:
name: Documentation HTML
path: docs/_build/html/
# Publish built docs to gh-pages branch
- name: Commit documentation changes
run: |
git clone https://github.com/mgm8/pymodulation.git --branch gh-pages --single-branch gh-pages
cd gh-pages
rm -rf *
rm -f .nojekyll
rm -f .gitignore
rm -rf .github/
cp -r ../docs/_build/html/* .
touch .nojekyll
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 that
- name: Push changes
uses: ad-m/github-push-action@master
with:
branch: gh-pages
directory: gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}