add build scripts and amend jjb for prediction project 98/398/4
authorMatthewLi <matthew.lijun@huawei.com>
Wed, 22 Apr 2015 02:41:02 +0000 (10:41 +0800)
committerMatthewLi <matthew.lijun@huawei.com>
Thu, 30 Apr 2015 13:05:49 +0000 (21:05 +0800)
 JIRA PREDICTION-1

Change-Id: I07e671d5e821c5dc7d6275a0fbf9b623a4c6aff8
Signed-off-by: MatthewLi <matthew.lijun@huawei.com>
jjb/prediction/docu-build.sh [new file with mode: 0644]
jjb/prediction/docu-verify.sh [new file with mode: 0644]
jjb/prediction/prediction.yml

diff --git a/jjb/prediction/docu-build.sh b/jjb/prediction/docu-build.sh
new file mode 100644 (file)
index 0000000..7358118
--- /dev/null
@@ -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/prediction/docu-verify.sh b/jjb/prediction/docu-verify.sh
new file mode 100644 (file)
index 0000000..3221dc2
--- /dev/null
@@ -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
+
index e8e5876..bf4c56b 100644 (file)
@@ -33,6 +33,8 @@
 - job-template:
     name: 'prediction-daily-{stream}'
 
+    node: master
+
     # Job template for daily builders
     #
     # Required Variables:
     varsetabove: '{somevar}'
 
     logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
 
     parameters:
         - project-parameter:
         - test-macro
 
     builders:
-        - shell: |
-            pwd
-            find .
-            echo "Hello world from prediction {somevar} daily"
+        - shell:
+            !include-raw docu-build.sh
 
     postbuilders:
         - test-macro
@@ -80,6 +80,8 @@
 - job-template:
     name: 'prediction-verify'
 
+    node: master
+
     project-type: freestyle
 
     logrotate:
                     branch-pattern: '**/master'
 
     builders:
-        - shell: |
-            pwd
-            find .
-            echo "verify logic goes here"
+        - shell:
+            !include-raw docu-verify.sh
 
 - job-template:
     name: 'prediction-merge'
 
+    node: master
+
     # builder-merge job to run JJB update
     #
     # This job's purpose is to update all the JJB
                       branch-pattern: '**/master'
 
     builders:
-        - shell: |
-            pwd
-            find .
-            echo "merge logic goes here"
+        - shell:
+            !include-raw docu-build.sh
+