From 458bba6f7accab1bf8f118368c34d2b8c4a29dfc Mon Sep 17 00:00:00 2001 From: Carlos Goncalves Date: Mon, 11 May 2015 14:38:42 +0200 Subject: [PATCH] Documentation build scripts for Doctor project JIRA: DOCS-29 Signed-off-by: Carlos Goncalves --- jjb/doctor/doctor.yml | 20 ++++++++------- jjb/doctor/docu-build.sh | 63 +++++++++++++++++++++++++++++++++++++++++++++++ jjb/doctor/docu-verify.sh | 33 +++++++++++++++++++++++++ 3 files changed, 107 insertions(+), 9 deletions(-) create mode 100644 jjb/doctor/docu-build.sh create mode 100644 jjb/doctor/docu-verify.sh 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 + -- 2.16.6