| # Copyright (c) 2020 Linaro Limited. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| name: Documentation GitHub Workflow |
| |
| on: |
| pull_request: |
| paths: |
| - 'Makefile' |
| - 'doc/**' |
| - '**.rst' |
| - 'include/**' |
| - 'kernel/include/kernel_arch_interface.h' |
| - 'lib/libc/**' |
| - 'subsys/testsuite/ztest/include/**' |
| - 'tests/**' |
| - '.known-issues/doc/**' |
| - '**/Kconfig*' |
| - 'west.yml' |
| - '.github/workflows/doc-build.yml' |
| |
| jobs: |
| doc-build: |
| name: "Documentation Build" |
| runs-on: ubuntu-latest |
| |
| steps: |
| - name: Update PATH for west |
| run: | |
| echo "$HOME/.local/bin" >> $GITHUB_PATH |
| |
| - name: checkout |
| uses: actions/checkout@v2 |
| |
| - name: install-pkgs |
| run: | |
| sudo apt-get install -y ninja-build doxygen |
| |
| - name: cache-pip |
| uses: actions/cache@v1 |
| with: |
| path: ~/.cache/pip |
| key: ${{ runner.os }}-doc-pip |
| |
| - name: install-pip |
| run: | |
| pip3 install setuptools wheel |
| pip3 install -r scripts/requirements-base.txt |
| pip3 install -r scripts/requirements-doc.txt |
| pip3 install west==0.9.0 |
| |
| - name: west setup |
| run: | |
| west init -l . || true |
| |
| - name: build-docs |
| run: | |
| source zephyr-env.sh |
| make htmldocs |
| tar cvf htmldocs.tar --directory=./doc/_build html |
| |
| - name: upload-build |
| uses: actions/upload-artifact@master |
| continue-on-error: True |
| with: |
| name: htmldocs.tar |
| path: htmldocs.tar |
| |
| - name: check-warns |
| run: | |
| if [ -s doc/_build/doc.warnings ]; then |
| docwarn=$(cat doc/_build/doc.warnings) |
| docwarn="${docwarn//'%'/'%25'}" |
| docwarn="${docwarn//$'\n'/'%0A'}" |
| docwarn="${docwarn//$'\r'/'%0D'}" |
| # We treat doc warnings as errors |
| echo "::error file=doc.warnings::$docwarn" |
| exit 1 |
| fi |