--- /dev/null
+####################################
+# 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
--- /dev/null
+#!/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"
+