name: Sphinx steps on: workflow_call: permissions: contents: read jobs: test_sphinx_builds: name: build sphinx documentation runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v6.0.2 with: persist-credentials: false - name: Build Sphinx Documentation run: |- echo "::group::Install dependencies" sudo apt-get update sudo apt-get install -y --no-install-recommends libaugeas-dev echo "::endgroup::" FINAL_STATUS=0 declare -a FAILED_BUILDS echo "::group::Setup venv" tools/venv.py source venv/bin/activate echo "::endgroup::" for doc_path in */docs do echo "" echo "::group::Building $doc_path" if ! sphinx-build -W --keep-going -b html "$doc_path" "$doc_path/_build/html"; then FINAL_STATUS=1 FAILED_BUILDS[${#FAILED_BUILDS[@]}]="${doc_path%/docs}" fi echo "::endgroup::" done if [[ $FINAL_STATUS -ne 0 ]]; then echo "::error::The following builds failed: ${FAILED_BUILDS[*]}" exit 1 fi shell: bash