builders:
- shell: |
#!/bin/bash -e
- set -o pipefail
export PATH=$PATH:/usr/local/bin/
-
- [[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
-
- _get_title_script="
- import os
- from docutils import core
- with open('index.rst', 'r') as file:
- data = file.read()
- doctree = core.publish_doctree(data,
- settings_overrides={'report_level': 5,
- 'halt_level': 5})
- print doctree[0].astext()"
- _git_sha1="$(git rev-parse HEAD)"
-
- find docs/ -name 'index.rst' -printf '%h\n' | while read dir
- do
- _name="${dir##*/}"
- _build="$dir/build"
- _output="docs/output/$_name"
-
- echo
- echo "#################${dir//?/#}"
- echo "Building DOCS in $dir"
- echo "#################${dir//?/#}"
- echo
-
- sed -i "s/_sha1_/$_git_sha1/g" "$dir/index.rst"
-
- if [[ ! -f "$dir/conf.py" ]] ; then
- cp "docs/etc/conf.py" "$dir/conf.py"
- _title=$(cd $dir; python -c "$_get_title_script")
- echo "latex_documents = [('index', '$_name.tex', '$_title', 'OPNFV', 'manual'),]" >> "$dir/conf.py"
- fi
-
- mkdir -p "$_output"
-
- sphinx-build -b html -E "$dir" "$_output"
-
- # Note: PDF creation may fail in project doc builds.
- # We allow this test to be marked as succeeded with
- # failure in PDF creation, but leave message to fix it.
- # Any failure has to be fixed before B release.
- {
- sphinx-build -b latex -E "$dir" "$_build"
- make -C "$_build" LATEXOPTS='--interaction=nonstopmode' all-pdf
- mv "$_build"/*.pdf "$_output"
- } || {
- _msg="Error: PDF creation for $dir has failed, please fix source rst file(s)."
- echo
- echo "$_msg"
- echo
- echo "$_msg" >> gerrit_comment.txt
- }
- done
+ git clone ssh://gerrit.opnfv.org:29418/releng
+ GERRIT_COMMENT=gerrit_comment.txt ./releng/utils/docs-build.sh
- builder:
name: upload-under-review-docs-to-opnfv-artifacts
export PATH=$PATH:/usr/local/bin/
[[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
- [[ -d docs/output ]]
+ [[ -d output ]]
echo
echo "###########################"
echo "###########################"
echo
- gs_path="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER"
+ gs_base="artifacts.opnfv.org/review"
+ gs_path="$gs_base/$GERRIT_CHANGE_NUMBER"
+ local_path="upload/$GERRIT_CHANGE_NUMBER"
- gsutil -m cp -r docs/output/* "gs://$gs_path"
+ mkdir -p upload
+ mv output "$local_path"
+ gsutil -m cp -r "$local_path" "gs://$gs_base"
if gsutil ls "gs://$gs_path" | grep -e 'html$' > /dev/null 2>&1 ; then
gsutil -m setmeta \
fi
echo "Document link(s):" >> gerrit_comment.txt
- find docs/output | grep -e 'index.html$' -e 'pdf$' | \
- sed -e "s|^docs/output| http://$gs_path|" >> gerrit_comment.txt
+ find "$local_path" | grep -e 'index.html$' -e 'pdf$' | \
+ sed -e "s|^$local_path| http://$gs_path|" >> gerrit_comment.txt
- builder:
name: upload-merged-docs-to-opnfv-artifacts
set -o pipefail
export PATH=$PATH:/usr/local/bin/
- [[ -d docs/output ]]
+ [[ -d output ]]
echo
echo "#####################"
echo
if [[ "$GERRIT_BRANCH" == "master" ]] ; then
- gs_path="artifacts.opnfv.org/$GERRIT_PROJECT/docs"
+ gs_base="artifacts.opnfv.org/$GERRIT_PROJECT"
else
- gs_path="artifacts.opnfv.org/$GERRIT_PROJECT/$GERRIT_BRANCH/docs"
+ gs_base="artifacts.opnfv.org/$GERRIT_PROJECT/$GERRIT_BRANCH"
fi
+ gs_path="$gs_base/docs"
+ local_path="upload/docs"
- gsutil -m cp -r docs/output/* "gs://$gs_path"
+ mkdir -p upload
+ mv output "$local_path"
+ gsutil -m cp -r "$local_path" "gs://$gs_base"
if gsutil ls "gs://$gs_path" | grep -e 'html$' > /dev/null 2>&1 ; then
gsutil -m setmeta \
fi
echo "Document link(s):" >> gerrit_comment.txt
- find docs/output | grep -e 'index.html$' -e 'pdf$' | \
- sed -e "s|^docs/output| http://$gs_path|" >> gerrit_comment.txt
+ find "$local_path" | grep -e 'index.html$' -e 'pdf$' | \
+ sed -e "s|^$local_path| http://$gs_path|" >> gerrit_comment.txt
- builder:
name: report-docs-build-result-to-gerrit