summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyota MIBU <r-mibu@cq.jp.nec.com>2015-11-19 20:38:06 +0900
committerRyota MIBU <r-mibu@cq.jp.nec.com>2015-11-20 21:18:25 +0900
commitd42302ee26261d4ccd1e5492745cd387d6613a4d (patch)
treed79ffdf2ef96e556a52cb466969451f3bf25de53
parent47ba5f223cc3eb6f3c08d7b3ae147f7f5c52c563 (diff)
Add new jjb macros instead of docu-build-new.sh
This patch adds new jjb macros equivalent to docu-build-new.sh which is not bash script and includes the both functions of builder and publisher in the single file. Change-Id: Ie078e1d62d56e593e634f7e9633386ba90bf45de Signed-off-by: Ryota MIBU <r-mibu@cq.jp.nec.com>
-rw-r--r--jjb/opnfv/opnfv-docs.yml13
-rw-r--r--jjb/releng-defaults.yaml2
-rw-r--r--jjb/releng-macros.yaml129
-rwxr-xr-xutils/docu-build-new.sh114
4 files changed, 139 insertions, 119 deletions
diff --git a/jjb/opnfv/opnfv-docs.yml b/jjb/opnfv/opnfv-docs.yml
index efb6b5bf1..ee4b5d75c 100644
--- a/jjb/opnfv/opnfv-docs.yml
+++ b/jjb/opnfv/opnfv-docs.yml
@@ -74,8 +74,10 @@
pattern: 'docs/**'
builders:
- - shell:
- !include-raw ../../utils/docu-build-new.sh
+ - build-html-and-pdf-docs-output
+
+ publisher:
+ - upload-under-review-docs-to-opnfv-artifacts
- job-template:
name: 'opnfv-docs-merge'
@@ -123,5 +125,8 @@
pattern: 'docs/**'
builders:
- - shell:
- !include-raw ../../utils/docu-build-new.sh
+ - build-html-and-pdf-docs-output
+
+ publisher:
+ - upload-merged-docs-to-opnfv-artifacts
+ - remove-old-docs-from-opnfv-artifacts
diff --git a/jjb/releng-defaults.yaml b/jjb/releng-defaults.yaml
index a78a37e91..c85347457 100644
--- a/jjb/releng-defaults.yaml
+++ b/jjb/releng-defaults.yaml
@@ -9,4 +9,4 @@
build-artifact-num-to-keep: 5
ssh-credentials: 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e'
-
+ gerrit-review: 'ssh -p 29418 gerrit.opnfv.org gerrit review'
diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml
index 2c694c847..dc5979783 100644
--- a/jjb/releng-macros.yaml
+++ b/jjb/releng-macros.yaml
@@ -143,3 +143,132 @@
name: jacoco-nojava-workaround
builders:
- shell: 'mkdir -p $WORKSPACE/target/classes'
+
+- 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 "$dir" "$_build"
+ make -C "$_build" LATEXOPTS='--interaction=nonstopmode' all-pdf
+ mv "$_build"/*.pdf "$_output"
+
+- publisher:
+ name: upload-under-review-docs-to-opnfv-artifacts
+ publishers:
+ - shell: |
+ #!/bin/bash -e
+ set -o pipefail
+ export PATH=$PATH:/usr/local/bin/
+
+ [[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
+ [[ -d docs/output ]]
+
+ echo
+ echo "##########################"
+ echo "UPLOADING DOCS UNER REVIEW"
+ echo "##########################"
+ echo
+
+ gs_path="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER"
+
+ gsutil cp -r docs/output/* "gs://$gs_path"
+
+ gsutil ls "gs://$gs_path" | grep -e 'html$' | while read file
+ do
+ gsutil setmeta \
+ -h "Content-Type:text/html" \
+ -h "Cache-Control:private, max-age=0, no-transform" \
+ "$file"
+ done
+
+ gerrit_comment="Document link(s):
+ $(gsutil ls "gs://$gs_path" | grep -e 'index.html$' -e 'pdf$' | sed 's/^gs/http/')"
+ echo
+ echo "$gerrit_comment"
+ echo
+ {gerrit-review} -p {project} -m "$gerrit_comment" $GERRIT_PATCHSET_REVISION
+
+- publisher:
+ name: upload-merged-docs-to-opnfv-artifacts
+ publishers:
+ - 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 [[ "{branch}" == "master" ]] ; then
+ gs_path="artifacts.opnfv.org/{project}/docs"
+ else
+ gs_path="artifacts.opnfv.org/{project}/{branch}/docs"
+ fi
+
+ gsutil cp -r docs/output/* "gs://$gs_path"
+
+ gsutil ls "gs://$gs_path" | grep -e 'html$' | while read file
+ do
+ gsutil setmeta \
+ -h "Content-Type:text/html" \
+ -h "Cache-Control:private, max-age=0, no-transform" \
+ "$file"
+ done
+
+ gerrit_comment="Document link(s):
+ $(gsutil ls "gs://$gs_path" | grep -e 'index.html$' -e 'pdf$' | sed 's/^gs/http/')"
+ echo
+ echo "$gerrit_comment"
+ echo
+ {gerrit-review} -p {project} -m "$gerrit_comment" $GERRIT_PATCHSET_REVISION
+
+- publisher:
+ name: remove-old-docs-from-opnfv-artifacts
+ publishers:
+ - 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 rm -r "gs://$gs_path_review"
+ fi
diff --git a/utils/docu-build-new.sh b/utils/docu-build-new.sh
deleted file mode 100755
index 67a62e381..000000000
--- a/utils/docu-build-new.sh
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/bash
-set -e
-set -o pipefail
-
-export PATH=$PATH:/usr/local/bin/
-git_sha1="$(git rev-parse HEAD)"
-
-clean() {{
-if [[ -d docs/output ]]; then
-rm -rf docs/output
-echo "cleaning up output directory"
-fi
-}}
-
-trap clean EXIT TERM INT SIGTERM SIGHUP
-
-#set git_sha1
-files=()
-while read -r -d ''; do
- files+=("$REPLY")
-done < <(find docs/ -type f -iname '*.rst' -print0)
-for file in "${{files[@]}}"; do
- sed -i "s/_sha1_/$git_sha1/g" $file
-done
-
-directories=()
-while read -d $'\n'; do
- directories+=("$REPLY")
-done < <(find docs/ -name 'index.rst' -printf '%h\n' | sort -u )
-
-for dir in "${{directories[@]}}"; do
- _name="${{dir##*/}}"
- _build="${{dir}}/build"
- _output="docs/output/${{_name}}"
- echo
- echo "#################${{_name//?/#}}"
- echo "Building DOCS in ${{_name}}"
- echo "#################${{_name//?/#}}"
- echo
-
- mkdir -p "${{_output}}"
-
- sphinx-build -b html -E -c docs/etc "${{dir}}" "${{_output}}"
-
- sphinx-build -b latex -E -c docs/etc "${{dir}}" "${{_build}}"
- make -C "${{_build}}" LATEXOPTS='--interaction=nonstopmode' all-pdf
- mv "${{_build}}"/*.pdf "${{_output}}"
-
-done
-
-# NOTE: make sure source parameters for GS paths are not empty.
-[[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
-[[ $GERRIT_PROJECT =~ .+ ]]
-[[ $GERRIT_BRANCH =~ .+ ]]
-
-gs_path_review="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER"
-
-if [[ $GERRIT_BRANCH = "master" ]] ; then
- gs_path_branch="artifacts.opnfv.org/$GERRIT_PROJECT"
-else
- gs_path_branch="artifacts.opnfv.org/$GERRIT_PROJECT/${{GERRIT_BRANCH##*/}}"
-fi
-
-for dir in "${{directories[@]}}"; do
- echo
- echo "#############################"
- echo "UPLOADING DOCS in ${{dir##*/}}"
- echo "#############################"
- echo
-
-
- if [[ $JOB_NAME =~ "verify" ]] ; then
-
- #upload artifacts for verify job
- gsutil cp -r docs/output/"${{dir##*/}}/" "gs://$gs_path_review/"
-
- # post link to gerrit as comment
- gerrit_comment="$(echo '"Document is available at 'http://$gs_path_review/"${{dir##*/}}"/index.html' for review"')"
- echo "$gerrit_comment"
- ssh -p 29418 gerrit.opnfv.org gerrit review -p $GERRIT_PROJECT -m \
- "$gerrit_comment" $GERRIT_PATCHSET_REVISION
-
- #set cache to 0
- for x in $(gsutil ls gs://$gs_path_review/"${{dir##*/}}" | grep html);
- do
- gsutil setmeta -h "Content-Type:text/html" \
- -h "Cache-Control:private, max-age=0, no-transform" \
- "$x"
- done
-
- else
-
- #upload artifacts for merge job
- gsutil cp -r docs/output/"${{dir##*/}}" "gs://$gs_path_branch/docs/"
- echo "Latest document is available at http://$gs_path_branch/docs/"${{dir##*/}}"/index.html"
-
- #set cache to 0
- for x in $(gsutil ls gs://$gs_path_branch/"${{dir}}" | grep html);
- do
- gsutil setmeta -h "Content-Type:text/html" \
- -h "Cache-Control:private, max-age=0, no-transform" \
- "$x"
- done
-
- #Clean up review when merging
- if gsutil ls "gs://$gs_path_review" > /dev/null 2>&1 ; then
- echo
- echo "Deleting Out-of-dated Documents..."
- gsutil rm -r "gs://$gs_path_review"
- fi
-
- fi
-
-done