switch back to rtd theme #59
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: Render documentation | |
# see https://github.com/actions/setup-python#using-setup-python-with-a-self-hosted-runner | |
# for artifact handling and SBOM: https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts | |
on: | |
push: | |
#pull_request: # Not necessary, as it is already been executed on push | |
workflow_dispatch: | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
FORCE_COLOR: "1" | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3" | |
cache: 'pip' # caching pip dependencies | |
- name: print versions for debugging | |
run: python --version ; pip --version ; whoami | |
- name: Install graphviz & default-jdk | |
run: sudo apt-get install graphviz default-jdk | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install setuptools | |
python -m pip install -r ./docs/requirements.txt | |
python -m pip install . | |
- name: Lint the project with sphinx-lint | |
run: | | |
sphinx-lint | |
- name: Test with pytest | |
run: | | |
coverage run --branch --data-file=./docs/_static/_external_data/coverage.file -m pytest ./tests/ --junitxml=./docs/_static/_external_data/merge_dicts_test_results.xml --report-log=./docs/_static/_external_data/merge_dicts_test_log.json | |
coverage xml --data-file=./docs/_static/_external_data/coverage.file -o ./docs/_static/_external_data/coverage.xml | |
coverage json --data-file=./docs/_static/_external_data/coverage.file -o ./docs/_static/_external_data/coverage.json | |
coverage html --data-file=./docs/_static/_external_data/coverage.file -d ./docs/_static/_external_data/coverage_html | |
- name: Archive pytest test results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-results | |
path: | | |
./docs/_static/_external_data/merge_dicts_test_results.xml | |
./docs/_static/_external_data/merge_dicts_test_log.json | |
# Use always() to always run this step to publish test results when there are test failures | |
if: ${{ always() }} | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: code-coverage-report | |
path: | | |
./docs/_static/_external_data/coverage.file | |
./docs/_static/_external_data/coverage.xml | |
./docs/_static/_external_data/coverage.json | |
./docs/_static/_external_data/coverage_html | |
# Use always() to always run this step to publish test results when there are test failures | |
if: ${{ always() }} | |
- name: Setup Pages | |
id: pages | |
uses: actions/configure-pages@v5 | |
- name: Render the documentation | |
run: > | |
sphinx-build | |
-b html ./docs ./public | |
-vv | |
--jobs=auto | |
--show-traceback | |
--fail-on-warning | |
--keep-going | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: ./public | |
# Deployment job | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
needs: build | |
if: github.ref == 'refs/heads/main' | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 |