Browse Source

ci(docstring): add sphinx autodoc build test for docstring

GitOrigin-RevId: d6a4fd469a
tags/v1.7.1.m1
Megvii Engine Team 3 years ago
parent
commit
7e2d89123b
1 changed files with 33 additions and 0 deletions
  1. +33
    -0
      imperative/python/scripts/sphinx.sh

+ 33
- 0
imperative/python/scripts/sphinx.sh View File

@@ -0,0 +1,33 @@
#!/bin/bash
set -e

# This script can be used to find WARNINGs and ERRORs hide in Python docstring.
#
# * Usually we use Sphinx (https://www.sphinx-doc.org/) and its' tools
# to build HTML documentation for Python projects, such as MegEngine.
#
# * It simulates the process of automatically extracting docstrings from source code
# and try generating HTML pages, just like what MegEngine documentation will do.
#
# Install required Python dependence with pip then you will get following tools:
#
# * sphinx-apidoc: a tool for automatic generation of Sphinx sources that,
# using the autodoc extension, document a whole package in the style of
# other automatic API documentation tools. For more details:
# https://www.sphinx-doc.org/en/master/man/sphinx-apidoc.html
#
# * sphinx-build: generates documentation frome specific files. For more details:
# https://www.sphinx-doc.org/en/master/man/sphinx-build.html
#
# [NOTE]: You need build MegEngine first (target: develop) then run this script.

DOC_PATH=`mktemp -d`
trap 'rm -rf "$DOC_PATH"' EXIT

cd $(dirname $0)/..

python3 -m pip install -r requires.txt
python3 -m pip install -r requires-sphinx.txt
sphinx-apidoc -f -F -e -o $DOC_PATH/source megengine "megengine/core/ops/builtin/*"
PYTHONPATH=. sphinx-build -j auto -c . -W --keep-going \
$DOC_PATH/source $DOC_PATH/build

Loading…
Cancel
Save