80 lines
2.0 KiB
YAML
80 lines
2.0 KiB
YAML
# Copyright (c) 2020 Linaro Limited.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
name: Documentation GitHub Workflow
|
|
|
|
on: [pull_request, push]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Update PATH for west
|
|
run: |
|
|
echo "::add-path::$HOME/.local/bin"
|
|
|
|
- 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
|
|
pip3 install 'breathe>=4.9.1' 'docutils>=0.14' \
|
|
'sphinx>=1.7.5' sphinx_rtd_theme sphinx-tabs \
|
|
sphinxcontrib-svg2pdfconverter 'west>=0.6.2'
|
|
|
|
- name: cache-zephyr-modules
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ../modules
|
|
key: ${{ runner.os }}-zephyr-modules-${{ hashFiles('west.yml') }}
|
|
|
|
- name: cache-zephyr-tools
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ../tools
|
|
key: ${{ runner.os }}-zephyr-tools-${{ hashFiles('west.yml') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-doc-zephyr-tools
|
|
|
|
- name: west setup
|
|
run: |
|
|
west init -l . || true
|
|
west update
|
|
|
|
- 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
|