120 lines
3.8 KiB
YAML
120 lines
3.8 KiB
YAML
name: Documentation
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- 'master'
|
|
- 'releases/**'
|
|
|
|
env:
|
|
DOXY_VER: '1.9.6'
|
|
DOXYREST_VER: '2.1.3'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
Build_Doc:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Clone OpenVINO
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
lfs: true
|
|
|
|
- name: Install apt-get dependencies
|
|
uses: awalsh128/cache-apt-pkgs-action@v1.3.0
|
|
with:
|
|
packages: graphviz texlive liblua5.2-0 libclang1-9 libclang-cpp9
|
|
version: 3.0
|
|
|
|
- uses: actions/setup-python@v4
|
|
id: cp310
|
|
with:
|
|
python-version: '3.10'
|
|
cache: 'pip'
|
|
cache-dependency-path: |
|
|
docs/requirements.txt
|
|
docs/openvino_sphinx_theme/setup.py
|
|
|
|
- name: Install python dependencies
|
|
run: |
|
|
python3 -m pip install -r docs/requirements.txt
|
|
(cd docs/openvino_sphinx_theme && python3 setup.py install)
|
|
|
|
- name: Download and install doxygen && doxyrest
|
|
run: |
|
|
# install doxyrest
|
|
wget https://github.com/vovkos/doxyrest/releases/download/doxyrest-$DOXYREST_VER/doxyrest-$DOXYREST_VER-linux-amd64.tar.xz
|
|
tar -xf doxyrest-$DOXYREST_VER-linux-amd64.tar.xz
|
|
echo "$(pwd)/doxyrest-$DOXYREST_VER-linux-amd64/bin/" >> $GITHUB_PATH
|
|
# install doxygen
|
|
wget https://www.doxygen.nl/files/doxygen-$DOXY_VER.linux.bin.tar.gz
|
|
tar -xzf doxygen-$DOXY_VER.linux.bin.tar.gz
|
|
echo "$(pwd)/doxygen-$DOXY_VER/bin/" >> $GITHUB_PATH
|
|
|
|
- name: CMake configure
|
|
run: cmake -DENABLE_DOCS=ON -B build
|
|
|
|
- name: Cache documentation
|
|
id: cache_sphinx_docs
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: build/docs/_build/.doctrees
|
|
key: sphinx-docs-cache
|
|
|
|
- name: Get number of CPU cores
|
|
uses: SimenB/github-actions-cpu-cores@v2
|
|
id: cpu-cores
|
|
|
|
- name: Build docs
|
|
run: cmake --build build --target sphinx_docs --parallel ${{ steps.cpu-cores.outputs.count }}
|
|
|
|
- name: Archive docs HTML
|
|
run: (cd build/docs && zip -r openvino_docs_html.zip _build)
|
|
|
|
- name: Set PR number
|
|
run: |
|
|
PR_NUMBER=$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')
|
|
echo "PR_NUMBER=$PR_NUMBER" >> $GITHUB_ENV
|
|
|
|
- name: 'Upload doxygen.log'
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: doxygen_build_log_${{ env.PR_NUMBER }}.log
|
|
path: build/docs/doxygen.log
|
|
|
|
- name: 'Upload sphinx.log'
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: sphinx_build_log_${{ env.PR_NUMBER }}.log
|
|
path: build/docs/sphinx.log
|
|
|
|
- name: 'Upload docs html'
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: openvino_docs_html_${{ env.PR_NUMBER }}.zip
|
|
path: build/docs/openvino_docs_html.zip
|
|
|
|
- name: Run Pytest
|
|
run: |
|
|
pytest --doxygen="./build/docs/doxygen.log" \
|
|
--include_pot \
|
|
--sphinx="./build/docs/sphinx.log" \
|
|
--suppress-warnings="./docs/suppress_warnings.txt" \
|
|
--confcutdir="./docs/scripts/tests/" \
|
|
--html="./build/docs/_artifacts/doc-generation.html" \
|
|
--doxygen-strip="$(pwd)" \
|
|
--sphinx-strip="$(pwd)/build/docs/rst" \
|
|
--doxygen-xfail="./docs/doxygen-xfail.txt" \
|
|
--self-contained-html ./docs/scripts/tests/test_docs.py
|
|
|
|
- name: 'Upload test results'
|
|
if: failure()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: openvino_docs_pytest
|
|
path: build/docs/_artifacts/
|