Skip to content

Merge pull request #791 from MetOffice/merge_install_local_cset_build… #377

Merge pull request #791 from MetOffice/merge_install_local_cset_build…

Merge pull request #791 from MetOffice/merge_install_local_cset_build… #377

Workflow file for this run

name: Documentation
on:
push:
branches:
- "main"
workflow_dispatch:
# Allow only one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true
jobs:
build-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Cache conda environment
id: conda-env-cache
uses: actions/cache@v4
with:
key: conda|${{runner.os}}-${{runner.arch}}|${{hashFiles('requirements/locks/py312-lock-linux-64.txt')}}
path: |
~/conda-env
~/.local/share/cartopy
- name: Create conda environment
if: steps.conda-env-cache.outputs.cache-hit != 'true'
run: |
# Check cache hasn't pulled a partial key match.
test ! -e "${HOME}/conda-env"
conda create --prefix="${HOME}/conda-env" --file=requirements/locks/py312-lock-linux-64.txt
- name: Add conda environment to PATH
run: echo "${HOME}/conda-env/bin" >> $GITHUB_PATH
- name: Build documentation
run: |
# Install module so it can be imported during docs generation.
echo '::group::Installing local package'
python3 -m pip install .
echo '::endgroup::'
# Generate the documentation
echo '::group::Building the documentation'
sphinx-build -b html --color "docs/source" "docs/build/html"
echo '::endgroup::'
- uses: actions/upload-artifact@v4
with:
name: html-docs
path: docs/build/html/
retention-days: 1
if-no-files-found: error
pages-deploy:
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build-docs
steps:
- uses: actions/download-artifact@v4
with:
name: html-docs
- uses: actions/upload-pages-artifact@v3
with:
path: "."
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4