Skip to content

Build documentation #640

Build documentation

Build documentation #640

Workflow file for this run

name: Build documentation
on:
workflow_call:
inputs:
tag:
description: "Tag of DOLFINx docker image"
default: "nightly"
required: true
type: string
workflow_dispatch:
inputs:
tag:
description: "Tag of DOLFINx docker image"
default: "nightly"
required: true
type: string
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: "0 8 * * *"
env:
DEB_PYTHON_INSTALL_LAYOUT: deb_system
DEFAULT_TAG: nightly
ARTIFACT_NAME: docs
PUBLISH_DIR: ./_build/html
jobs:
get_image_tag:
runs-on: ubuntu-latest
outputs:
image: ${{ steps.docker_tag.outputs.image }}
steps:
- id: docker_tag
run: echo "image=${{ inputs.tag || env.DEFAULT_TAG }}" >> $GITHUB_OUTPUT
build-docs:
needs: get_image_tag
runs-on: ubuntu-latest
container: ghcr.io/fenics/dolfinx/dolfinx:${{ needs.get_image_tag.outputs.image }}
steps:
# This action sets the current path to the root of your github repo
- uses: actions/checkout@v4
- name: Update pip
run: python3 -m pip install --break-system-packages --upgrade pip setuptools
- name: Install dependencies
run: python3 -m pip install --break-system-packages -e ".[docs]"
- name: Build docs
run: jupyter book build -W .
- name: Upload documentation as artifact
uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ env.ARTIFACT_NAME }}
path: ${{ env.PUBLISH_DIR }}
if-no-files-found: error