summaryrefslogtreecommitdiffstats
path: root/jjb/doctor
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/doctor')
-rw-r--r--jjb/doctor/doctor.yml20
-rw-r--r--jjb/doctor/docu-build.sh63
-rw-r--r--jjb/doctor/docu-verify.sh33
3 files changed, 107 insertions, 9 deletions
diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml
index 54070aa32..99bf3cd73 100644
--- a/jjb/doctor/doctor.yml
+++ b/jjb/doctor/doctor.yml
@@ -18,6 +18,8 @@
- job-template:
name: doctor-test
+ node: master
+
project-type: freestyle
logrotate:
@@ -33,6 +35,8 @@
- job-template:
name: 'doctor-daily-{stream}'
+ node: master
+
# Job template for daily builders
#
# Required Variables:
@@ -74,9 +78,7 @@
builders:
- shell: |
- pwd
- find .
- echo "Hello world from doctor {somevar} daily"
+ !include-raw docu-build.sh
postbuilders:
- test-macro
@@ -84,6 +86,8 @@
- job-template:
name: 'doctor-verify'
+ node: master
+
project-type: freestyle
logrotate:
@@ -132,13 +136,13 @@
builders:
- shell: |
- pwd
- find .
- echo "verify logic goes here"
+ !include-raw docu-verify.sh
- job-template:
name: 'doctor-merge'
+ node: master
+
# builder-merge job to run JJB update
#
# This job's purpose is to update all the JJB
@@ -186,9 +190,7 @@
builders:
- shell: |
- pwd
- find .
- echo "merge logic goes here"
+ !include-raw docu-build.sh
diff --git a/jjb/doctor/docu-build.sh b/jjb/doctor/docu-build.sh
new file mode 100644
index 000000000..c8f159617
--- /dev/null
+++ b/jjb/doctor/docu-build.sh
@@ -0,0 +1,63 @@
+#!/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/doctor/docu-verify.sh b/jjb/doctor/docu-verify.sh
new file mode 100644
index 000000000..f337a7fae
--- /dev/null
+++ b/jjb/doctor/docu-verify.sh
@@ -0,0 +1,33 @@
+#!/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
+