From affb0a0384b1029a4448d2b9b5e0566fec0f3029 Mon Sep 17 00:00:00 2001
From: MatthewLi <matthew.lijun@huawei.com>
Date: Sat, 9 May 2015 17:28:44 +0800
Subject: docu build scripts and amend jjb for promise project

 JIRA: DOCS-28

Change-Id: Iebf8e2ebca486c859fc7ac2bba10e35479f7cfb4
Signed-off-by: MatthewLi <matthew.lijun@huawei.com>
---
 jjb/promise/docu-build.sh  | 62 ++++++++++++++++++++++++++++++++++++++++++++++
 jjb/promise/docu-verify.sh | 32 ++++++++++++++++++++++++
 jjb/promise/promise.yml    | 31 +++++++++++------------
 3 files changed, 108 insertions(+), 17 deletions(-)
 create mode 100644 jjb/promise/docu-build.sh
 create mode 100644 jjb/promise/docu-verify.sh

diff --git a/jjb/promise/docu-build.sh b/jjb/promise/docu-build.sh
new file mode 100644
index 000000000..7358118bd
--- /dev/null
+++ b/jjb/promise/docu-build.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+set -e
+set -o pipefail
+project="$(git remote -v | head -n1 | awk '{{print $2}}' | sed -e 's,.*:\(.*/\)\?,,' -e 's/\.git$//')"
+export PATH=$PATH:/usr/local/bin/
+
+git_sha1="$(git rev-parse HEAD)"
+docu_build_date="$(date)"
+
+files=()
+while read -r -d ''; do
+	files+=("$REPLY")
+done < <(find * -type f -iname '*.rst' -print0)
+
+for file in "${{files[@]}}"; do
+
+	file_cut="${{file%.*}}"
+	gs_cp_folder="${{file_cut}}"
+
+	# sed part
+	sed -i "s/_sha1_/$git_sha1/g" $file
+	sed -i "s/_date_/$docu_build_date/g" $file
+
+	# rst2html part
+	echo "rst2html $file"
+	rst2html $file | gsutil cp -L gsoutput.txt - \
+	gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder".html
+	gsutil setmeta -h "Content-Type:text/html" \
+			-h "Cache-Control:private, max-age=0, no-transform" \
+			gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder".html
+	cat gsoutput.txt
+	rm -f gsoutput.txt
+
+	echo "rst2pdf $file"
+	rst2pdf $file -o - | gsutil cp -L gsoutput.txt - \
+	gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder".pdf
+	gsutil setmeta -h "Content-Type:application/pdf" \
+			-h "Cache-Control:private, max-age=0, no-transform" \
+			gs://artifacts.opnfv.org/"$project"/"$gs_cp_folder".pdf
+	cat gsoutput.txt
+	rm -f gsoutput.txt
+
+done
+
+images=()
+while read -r -d ''; do
+        images+=("$REPLY)
+done < <(find * -type f \( -iname \*.jpg -o -iname \*.png \) -print0)
+
+for img in "${{images[@]}}"; do
+
+        # uploading found images
+        echo "uploading $img"
+        cat "$img" | gsutil cp -L gsoutput.txt - \
+        gs://artifacts.opnfv.org/"$project"/"$img"
+        gsutil setmeta -h "Content-Type:image/jpeg" \
+                        -h "Cache-Control:private, max-age=0, no-transform" \
+                        gs://artifacts.opnfv.org/"$project"/"$img"
+        cat gsoutput.txt
+        rm -f gsoutput.txt
+
+done
diff --git a/jjb/promise/docu-verify.sh b/jjb/promise/docu-verify.sh
new file mode 100644
index 000000000..3221dc2d3
--- /dev/null
+++ b/jjb/promise/docu-verify.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+set -e
+set -o pipefail
+project="$(git remote -v | head -n1 | awk '{{print $2}}' | sed -e 's,.*:\(.*/\)\?,,' -e 's/\.git$//')"
+export PATH=$PATH:/usr/local/bin/
+
+git_sha1="$(git rev-parse HEAD)"
+docu_build_date="$(date)"
+
+files=()
+while read -r -d ''; do
+	files+=("$REPLY")
+done < <(find * -type f -iname '*.rst' -print0)
+
+for file in "${{files[@]}}"; do
+
+	file_cut="${{file%.*}}"
+	gs_cp_folder="${{file_cut}}"
+
+	# sed part
+	sed -i "s/_sha1_/$git_sha1/g" $file
+	sed -i "s/_date_/$docu_build_date/g" $file
+
+	# rst2html part
+	echo "rst2html $file"
+	rst2html $file > $file_cut".html"
+
+	echo "rst2pdf $file"
+	rst2pdf $file -o $file_cut".pdf"
+
+done
+
diff --git a/jjb/promise/promise.yml b/jjb/promise/promise.yml
index b4766976e..3196ef48f 100644
--- a/jjb/promise/promise.yml
+++ b/jjb/promise/promise.yml
@@ -18,6 +18,8 @@
 - job-template:
     name: promise-test
 
+    node: master
+
     project-type: freestyle
 
     logrotate:
@@ -33,6 +35,8 @@
 - job-template:
     name: 'promise-daily-{stream}'
 
+    node: master
+
     # Job template for daily builders
     #
     # Required Variables:
@@ -69,10 +73,8 @@
         - test-macro
 
     builders:
-        - shell: |
-            pwd
-            find .
-            echo "Hello world from promise {somevar} daily"
+        - shell:
+            !include-raw docu-build.sh
 
     postbuilders:
         - test-macro
@@ -80,6 +82,8 @@
 - job-template:
     name: 'promise-verify'
 
+    node: master
+
     project-type: freestyle
 
     logrotate:
@@ -123,10 +127,8 @@
                     branch-pattern: '**/master'
 
     builders:
-        - shell: |
-            pwd
-            find .
-            echo "verify logic goes here"
+        - shell:
+            !include-raw docu-verify.sh
 
 - job-template:
     name: 'promise-merge'
@@ -137,6 +139,8 @@
 
     project-type: freestyle
 
+    node: master
+
     logrotate:
         daysToKeep: 30
         numToKeep: 40
@@ -173,13 +177,6 @@
                       branch-pattern: '**/master'
 
     builders:
-        - shell: |
-            pwd
-            find .
-            echo "merge logic goes here"
-
-
-
-
-
+        - shell:
+            !include-raw docu-build.sh
 
-- 
cgit