Need to have reviews under /$PROJECT/$review_number
[releng.git] / jjb / releng-macros.yaml
index dd33437..b43a76d 100644 (file)
@@ -7,6 +7,14 @@
             name: PROJECT
             default: '{project}'
             description: "JJB configured PROJECT parameter to identify an opnfv Gerrit project"
+        - string:
+            name: GS_BASE
+            default: artifacts.opnfv.org/$PROJECT
+            description: "URL to Google Storage."
+        - string:
+            name: GS_BASE_PROXY
+            default: build.opnfv.org/artifacts/$PROJECT
+            description: "URL to Google Storage proxy"
 
 - parameter:
     name: gerrit-parameter
             timeout: 360
             fail: true
 
+- trigger:
+    name: 'brahmaputra-trigger-daily-disabled'
+    triggers:
+        - timed: ''
+
+- trigger:
+    name: 'brahmaputra-trigger-daily-enabled'
+    triggers:
+        - timed: '0 2 * * *'
+
 - trigger:
     name: gerrit-trigger-patch-submitted
     triggers:
     name: build-html-and-pdf-docs-output
     builders:
         - shell: |
-            #!/bin/bash -e
-            set -o pipefail
+            #!/bin/bash
+            set -o errexit
+            set -o xtrace
             export PATH=$PATH:/usr/local/bin/
+            git clone ssh://gerrit.opnfv.org:29418/releng
+            GERRIT_COMMENT=gerrit_comment.txt ./releng/utils/docs-build.sh
 
-            [[ $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
+            #!/bin/bash
+            set -o errexit
             set -o pipefail
+            set -o xtrace
             export PATH=$PATH:/usr/local/bin/
 
             [[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
-            [[ -d docs/output ]]
+            [[ -d docs_output ]] || exit 0
 
             echo
             echo "###########################"
             echo "###########################"
             echo
 
-            gs_path="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER"
+            gs_base="artifacts.opnfv.org/$PROJECT/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 docs_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 \
                     "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"
+            echo "Document link(s):" >> gerrit_comment.txt
+            find "$local_path" | grep -e 'index.html$' -e 'pdf$' | \
+                sed -e "s|^$local_path|    http://$gs_path|" >> gerrit_comment.txt
 
-#TODO(r-mibu): change this to publisher
 - builder:
-    name: upload-merged-docs-to-opnfv-artifacts
+    name: upload-generated-docs-to-opnfv-artifacts
     builders:
         - shell: |
-            #!/bin/bash -e
+            #!/bin/bash
+            set -o errexit
             set -o pipefail
+            set -o xtrace
             export PATH=$PATH:/usr/local/bin/
 
-            [[ -d docs/output ]]
+            [[ -d docs_output ]] || exit 0
 
             echo
-            echo "#####################"
-            echo "UPLOADING MERGED DOCS"
-            echo "#####################"
+            echo "########################"
+            echo "UPLOADING GENERATED 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
+            gs_path="$GS_URL/docs"
+            local_path="upload/docs"
 
-            gsutil -m cp -r docs/output/* "gs://$gs_path"
+            mkdir -p upload
+            mv docs_output "$local_path"
+            gsutil -m cp -r "$local_path" "gs://$GS_URL"
 
             if gsutil ls "gs://$gs_path" | grep -e 'html$' > /dev/null 2>&1 ; then
                 gsutil -m setmeta \
                     "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"
+            echo "Document link(s):" >> 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
+    builders:
+        - shell: |
+            #!/bin/bash
+            set -o errexit
+            set -o pipefail
+            set -o xtrace
+            export PATH=$PATH:/usr/local/bin/
+            if [[ -e gerrit_comment.txt ]] ; then
+                echo
+                echo "posting review comment to gerrit..."
+                echo
+                cat gerrit_comment.txt
+                echo
+                ssh -p 29418 gerrit.opnfv.org \
+                    "gerrit review -p $GERRIT_PROJECT \
+                     -m '$(cat gerrit_comment.txt)' \
+                     $GERRIT_PATCHSET_REVISION"
+            fi
 
-#TODO(r-mibu): change this to publisher
 - builder:
     name: remove-old-docs-from-opnfv-artifacts
     builders:
         - shell: |
-            #!/bin/bash -e
+            #!/bin/bash
+            set -o errexit
+            set -o pipefail
+            set -o xtrace
             export PATH=$PATH:/usr/local/bin/
 
             [[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
 
+            gs_path="artifacts.opnfv.org/$PROJECT/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"
+            fi
             gs_path="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER"
 
             if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then
                 echo "Deleting Out-of-dated Documents..."
                 gsutil -m rm -r "gs://$gs_path"
             fi
+
+- builder:
+    name: upload-review-docs
+    builders:
+        - build-html-and-pdf-docs-output
+        - upload-under-review-docs-to-opnfv-artifacts
+        - report-docs-build-result-to-gerrit
+
+- builder:
+    name: upload-merged-docs
+    builders:
+        - build-html-and-pdf-docs-output
+        - upload-generated-docs-to-opnfv-artifacts
+        - report-docs-build-result-to-gerrit
+        - remove-old-docs-from-opnfv-artifacts