diff options
Diffstat (limited to 'jjb/doc')
-rw-r--r-- | jjb/doc/rules.yaml | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/jjb/doc/rules.yaml b/jjb/doc/rules.yaml new file mode 100644 index 000000000..702449035 --- /dev/null +++ b/jjb/doc/rules.yaml @@ -0,0 +1,136 @@ +- scm: + name: doc-scm + scm: + - git: + url: 'https://gerrit.onap.org/r/{project}' + refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*' + branches: + - '{ref}' + +- trigger: + name: doc-rules-patchset-created + triggers: + - gerrit: + trigger-on: + - patchset-created-event + - comment-added-contains-event: + comment-contains-value: recheck + - comment-added-contains-event: + comment-contains-value: reverify + server-name: 'Primary' + projects: + - project-compare-type: 'ANT' + project-pattern: '**' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/*' + - branch-compare-type: 'ANT' + branch-pattern: 'refs/tags/**' + +- builder: + name: doc-rules + builders: + - shell: | + #!/bin/bash + . /lib/lsb/init-functions || exit 0 + exitstatus="0" + warning="0" + log_success_msg "Starting additional checks related to documentation." + log_success_msg "See https://git.onap.org/doc/doc-best-practice for example config files (master branch)." + log_success_msg "Modify example config files if you like to use them in a release branch." + log_success_msg "See https://wiki.onap.org/x/w4IEBw for the detailed procedure #02." + log_success_msg "In case of questions please contact the ONAP documentation team." + if [ ! -d docs ] ; then + log_success_msg "Directory docs not found. Skipping further checks." + exit 0 + fi + for i in docs/index.rst docs/conf.py docs/requirements-docs.txt docs/_static/css/ribbon.css; do + if [ ! -f $i ] ; then + log_failure_msg "$i missing. Please add it or remove the full docs directory." + exitstatus="1" + else + log_success_msg "$i found." + fi + done + for i in docs/conf.yaml; do + if [ -f $i ] ; then + log_failure_msg "$i found. It is no longer required. Please remove it." + exitstatus="1" + else + log_success_msg "$i not found." + fi + done + filename="docs/tox.ini" + if [ ! -f $filename ] ; then + log_failure_msg "$filename missing. Please add it or remove the full docs directory." + exitstatus="1" + else + log_success_msg "$filename found." + sphinxbuild_detected=0 + linenumber=0 + while IFS="" read -r line || [ -n "$line" ] ; do + linenumber=$((linenumber+1)) + if echo $line | grep -q '^[ \t]*sphinx-build.*' ; then + sphinxbuild_detected="1" + if echo $line | grep -q '^[ \t]*sphinx-build.* -W ' ; then + log_success_msg "sphinx-build option '-W' used in $filename, line $linenumber." + elif echo $line | grep -q ' \-b spelling ' ; then + log_warning_msg "sphinx-build option '-W' not used for spellcheck in $filename, line $linenumber." + warning="1" + else + log_failure_msg "sphinx-build option '-W' missing in $filename, line $linenumber. Please add it." + exitstatus="1" + fi + fi + done < $filename + if [ "$sphinxbuild_detected" = "0" ]; then + log_failure_msg "Sphinx-build command(s) missing in $filename. Please add it." + exitstatus="1" + fi + unset sphinxbuild_detected + unset linenumber + fi + unset filename + filename="docs/_static/css/ribbon.css" + if [ ! -f $filename ]; then + log_failure_msg "$filename missing. Please add it or remove the full docs directory." + exitstatus="1" + else + log_success_msg "$filename found." + cssmaxwidth=$(grep '^[ \t]*max-width:' $filename | sed -e 's/^[ \t]*//' | sed -e 's/;$//'); + if [[ ! $cssmaxwidth == *"max-width: 800px"* ]]; then + log_failure_msg "Setting 'max-width: 800px' missing in $filename. Please add it." + exitstatus="1" + else + log_success_msg "Setting 'max-width: 800px' found in $filename." + fi + unset cssmaxwidth + fi + unset filename + if [ "$exitstatus" = "0" ]; then + if [ "$warning" = "0" ]; then + log_success_msg "Congratulations! No documentation problem(s) detected." + else + log_warning_msg "No major documentation problem(s) detected but there are warnings!" + fi + else + log_failure_msg "Please fix the detected documentation problem(s)!" + fi + exit $exitstatus + +- job-template: + name: doc-rules + node: ubuntu1804-docker-8c-8g + triggers: + - doc-rules-patchset-created + scm: + - doc-scm: + ref: $GERRIT_REFSPEC + project: $GERRIT_PROJECT + builders: + - doc-rules + +- project: + name: 'doc-rules' + jobs: + - 'doc-rules' |