Skip to content

Top level "no validation" (#264) #185

Top level "no validation" (#264)

Top level "no validation" (#264) #185

Workflow file for this run

name: "📚 Documentation Builder"
on:
push:
branches: [master]
paths:
- 'docs/**/*'
- '.github/workflows/docs_builder.yml'
- 'qgispluginci/**/*.py'
tags:
- "*"
pull_request:
branches: [master]
paths:
- ".github/workflows/docs_builder.yml"
- docs/**/*
- requirements/documentation.txt
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true
env:
PYTHON_VERSION: 3.11
jobs:
build-docs:
runs-on: ubuntu-latest
steps:
- name: Get source code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: "pip"
cache-dependency-path: "requirements/*.txt"
- name: Install project requirements
run: |
python -m pip install -U pip setuptools wheel
python -m pip install -U -r requirements.txt
- name: Install project as a package
run: python -m pip install -e .
# this job must run before installing other dependencies to avoid listing everything
- name: Generates licenses page with pip-licences
run: |
python -m pip install -U "pip-licenses>=4,<5"
pip-licenses --format=markdown --with-authors --with-description --with-urls --ignore-packages qgis-plugin-ci --output-file=docs/misc/licenses.md
- name: Install documentation requirements
run: |
python -m pip install -U -r requirements/documentation.txt
- name: Build doc using Sphinx
run: sphinx-build -b html -j auto -d docs/_build/cache -q docs docs/_build/html
- name: Save build doc as artifact
uses: actions/upload-artifact@v3
with:
name: documentation
path: docs/_build/html/*
if-no-files-found: error
retention-days: 30
- name: Setup Pages
uses: actions/configure-pages@v3
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') && !contains(github.ref, 'beta')
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') && !contains(github.ref, 'beta')
with:
# Upload entire repository
path: docs/_build/html/
- name: Deploy to GitHub Pages
id: deployment
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') && !contains(github.ref, 'beta')
uses: actions/deploy-pages@v2