Sphinx Multiversioning #2600
Workflow file for this run
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: build_and_publish_docs | |
on: | |
push: | |
branches: | |
- dev | |
- master | |
- test/** | |
pull_request: | |
branches: | |
- dev | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/dev' && github.ref != 'refs/heads/master' }} | |
jobs: | |
publish: | |
name: build and publish docs | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: set up python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- uses: r-lib/actions/setup-pandoc@v2 | |
with: | |
pandoc-version: '3.1.6' | |
- name: setup poetry and install dependencies | |
run: | | |
python -m pip install --upgrade pip poetry | |
python -m poetry install --with tutorials,docs --all-extras --no-ansi --no-interaction | |
- name: testing actions/checkout_v4 | |
env: | |
BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
run: | | |
git branch | |
git status | |
echo "$BRANCH_NAME" | |
- name: checking if it's a polyversion build | |
if: ${{ github.event_name != 'pull_request' }} | |
run: | | |
echo "POLYVERSION_BUILD=True" >> $GITHUB_ENV | |
- name: build documentation | |
env: | |
TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN }} | |
TG_BOT_USERNAME: ${{ secrets.TG_BOT_USERNAME }} | |
LOCAL_BUILD: "False" | |
BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
run: | | |
python -m poetry run poe docs | |
- name: remove jekyll theming | |
run: touch docs/build/.nojekyll | |
- name: get built version name | |
run: | | |
echo "VERSION=$(ls -1 docs/build | head -n 1)" >> "$GITHUB_ENV" | |
- name: update switcher.json file | |
if: ${{ github.ref == 'refs/heads/master' }} | |
run: | | |
cp docs/source/_static/switcher.json ./docs/build/switcher.json | |
- name: save changes and checkout to gh-pages | |
run: | | |
git add -f . | |
git stash | |
git checkout gh-pages | |
- name: delete previous docs build for this branch | |
uses: EndBug/[email protected] | |
env: | |
BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
with: | |
remove: '-r --ignore-unmatch ./${{ env.VERSION }}' | |
- name: checkout to original branch and reapply changes | |
env: | |
BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
run: | | |
git checkout - | |
git stash pop | |
- name: save artifact | |
if: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/dev' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ format('github-pages-for-branch-{0}', env.BRANCH_NAME) }} | |
path: docs/build/ | |
retention-days: 3 | |
- name: deploy website | |
if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev' }} | |
uses: JamesIves/github-pages-deploy-action@v4 | |
with: | |
branch: gh-pages | |
folder: docs/build/ | |
clean: False |