add test and verify jobs for bottlenecks project 64/1264/2
authorMatthewLi <matthew.lijun@huawei.com>
Fri, 21 Aug 2015 02:50:54 +0000 (10:50 +0800)
committerMatthewLi <matthew.lijun@huawei.com>
Fri, 21 Aug 2015 03:04:43 +0000 (11:04 +0800)
BOTTLENECK-1

add test job to print hello world and docu-build script in verify job builder

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

diff --git a/jjb/bottlenecks/bottlenecks.yml b/jjb/bottlenecks/bottlenecks.yml
new file mode 100644 (file)
index 0000000..0baf7ba
--- /dev/null
@@ -0,0 +1,89 @@
+####################################
+# Job configuration for bottlenecks
+####################################
+- project:
+    name: bottlenecks
+    jobs:
+        - 'bottlenecks-test'
+        - 'bottlenecks-verify'
+
+    # stream:    branch with - in place of / (eg. stable-arno)
+    # branch:    branch (eg. stable/arno)
+    stream:
+        - master:
+            branch: 'master'
+
+    project: 'bottlenecks'
+    somevar: 'foo'
+
+########################
+# job templates
+########################
+
+- job-template:
+    name: 'bottlenecks-test'
+
+    project-type: freestyle
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    builders:
+        - shell: |
+            echo "Hello world from bottlenecks"
+
+
+- job-template:
+    name: 'bottlenecks-verify'
+
+    node: master
+
+    project-type: freestyle
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: 'master'
+
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: '$GERRIT_REFSPEC'
+            choosing-strategy: 'gerrit'
+
+    wrappers:
+        - ssh-agent-credentials:
+            user: '{ssh-credentials}'
+
+    triggers:
+        - gerrit:
+            trigger-on:
+                - patchset-created-event:
+                    exclude-drafts: 'false'
+                    exclude-trivial-rebase: 'false'
+                    exclude-no-code-change: 'false'
+                - draft-published-event
+                - comment-added-contains-event:
+                    comment-contains-value: 'recheck'
+                - comment-added-contains-event:
+                    comment-contains-value: 'reverify'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: '{project}'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/master'
+
+    builders:
+       - shell:
+            !include-raw docu-build.sh
diff --git a/jjb/bottlenecks/docu-build.sh b/jjb/bottlenecks/docu-build.sh
new file mode 100644 (file)
index 0000000..c560692
--- /dev/null
@@ -0,0 +1,80 @@
+#!/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)"
+
+if [[ $JOB_NAME =~ "verify" ]] ; then
+      subdir="/$GERRIT_CHANGE_NUMBER"
+fi
+
+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""$subdir"/"$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""$subdir"/"$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""$subdir"/"$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""$subdir"/"$gs_cp_folder".pdf
+       cat gsoutput.txt
+       rm -f gsoutput.txt
+
+  links+="http://artifacts.opnfv.org/"$project""$subdir"/"$gs_cp_folder".html \n"
+  links+="http://artifacts.opnfv.org/"$project""$subdir"/"$gs_cp_folder".pdf \n"
+
+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""$subdir"/"$img"
+        gsutil setmeta -h "Content-Type:image/jpeg" \
+                        -h "Cache-Control:private, max-age=0, no-transform" \
+                        gs://artifacts.opnfv.org/"$project""$subdir"/"$img"
+        cat gsoutput.txt
+        rm -f gsoutput.txt
+
+done
+
+if [[ $GERRIT_EVENT_TYPE = "change-merged" ]] ; then
+    subdir="/$GERRIT_CHANGE_NUMBER"
+    if [ ! -z "$subdir" ]; then
+      gsutil rm gs://artifacts.opnfv.org/"$project""$subdir"/** || true
+    fi
+fi
+
+echo -e "$links"
+