diff options
Diffstat (limited to 'jjb/releng-macros.yaml')
-rw-r--r-- | jjb/releng-macros.yaml | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml index 2c694c847..86680f292 100644 --- a/jjb/releng-macros.yaml +++ b/jjb/releng-macros.yaml @@ -143,3 +143,141 @@ name: jacoco-nojava-workaround builders: - shell: 'mkdir -p $WORKSPACE/target/classes' + + +# New Releng macros + +- builder: + name: build-html-and-pdf-docs-output + builders: + - shell: | + #!/bin/bash -e + set -o pipefail + export PATH=$PATH:/usr/local/bin/ + + [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] + + git_sha1="$(git rev-parse HEAD)" + + find docs/ -type f -iname '*.rst' -print0 | while read file + do + sed -i "s/_sha1_/$git_sha1/g" "$file" + done + + 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 + + mkdir -p "$_output" + + sphinx-build -b html -E -c docs/etc "$dir" "$_output" + + sphinx-build -b latex -E -c docs/etc -D project=$_name "$dir" "$_build" + make -C "$_build" LATEXOPTS='--interaction=nonstopmode' all-pdf + mv "$_build"/*.pdf "$_output" + done + +#TODO(r-mibu): change this to publisher +- builder: + name: upload-under-review-docs-to-opnfv-artifacts + builders: + - shell: | + #!/bin/bash -e + set -o pipefail + export PATH=$PATH:/usr/local/bin/ + + [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] + [[ -d docs/output ]] + + echo + echo "###########################" + echo "UPLOADING DOCS UNDER REVIEW" + echo "###########################" + echo + + gs_path="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER" + + gsutil -m cp -r docs/output/* "gs://$gs_path" + + if gsutil ls "gs://$gs_path" | grep -e 'html$' > /dev/null 2>&1 ; then + gsutil -m setmeta \ + -h "Content-Type:text/html" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + "gs://$gs_path"/**.html + fi + + files=$(find docs/output | grep -e 'index.html$' -e 'pdf$' | \ + sed -e "s|^docs/output| http://$gs_path|") + gerrit_comment="Document link(s): + $files" + echo + echo "$gerrit_comment" + echo + ssh -p 29418 gerrit.opnfv.org "gerrit review -p $GERRIT_PROJECT -m '$gerrit_comment' $GERRIT_PATCHSET_REVISION" + +#TODO(r-mibu): change this to publisher +- builder: + name: upload-merged-docs-to-opnfv-artifacts + builders: + - shell: | + #!/bin/bash -e + set -o pipefail + export PATH=$PATH:/usr/local/bin/ + + [[ -d docs/output ]] + + echo + echo "#####################" + echo "UPLOADING MERGED DOCS" + echo "#####################" + echo + + if [[ "$GERRIT_BRANCH" == "master" ]] ; then + gs_path="artifacts.opnfv.org/$GERRIT_PROJECT/docs" + else + gs_path="artifacts.opnfv.org/$GERRIT_PROJECT/$GERRIT_BRANCH/docs" + fi + + gsutil -m cp -r docs/output/* "gs://$gs_path" + + if gsutil ls "gs://$gs_path" | grep -e 'html$' > /dev/null 2>&1 ; then + gsutil -m setmeta \ + -h "Content-Type:text/html" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + "gs://$gs_path"/**.html + fi + + files=$(find docs/output | grep -e 'index.html$' -e 'pdf$' | \ + sed -e "s|^docs/output| http://$gs_path|") + gerrit_comment="Document link(s): + $files" + echo + echo "$gerrit_comment" + echo + ssh -p 29418 gerrit.opnfv.org "gerrit review -p $GERRIT_PROJECT -m '$gerrit_comment' $GERRIT_PATCHSET_REVISION" + +#TODO(r-mibu): change this to publisher +- builder: + name: remove-old-docs-from-opnfv-artifacts + builders: + - shell: | + #!/bin/bash -e + export PATH=$PATH:/usr/local/bin/ + + [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] + + gs_path="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER" + + if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then + echo + echo "Deleting Out-of-dated Documents..." + gsutil -m rm -r "gs://$gs_path_review" + fi |