set -o pipefail
export PATH=$PATH:/usr/local/bin/
+git_sha1="$(git rev-parse HEAD)"
clean() {{
if [[ -d docs/output ]]; then
trap clean EXIT TERM INT SIGTERM SIGHUP
+#set git_sha1
+files=()
+while read -r -d ''; do
+ files+=("$REPLY")
+done < <(find docs/ -type f -iname '*.rst' -print0)
+for file in "${{files[@]}}"; do
+ sed -i "s/_sha1_/$git_sha1/g" $file
+done
+
directories=()
while read -d $'\n'; do
directories+=("$REPLY")
fi
sphinx-build -b html -E -c docs/etc/ ""$dir"/" docs/output/"${{dir##*/}}/"
+
done
# NOTE: make sure source parameters for GS paths are not empty.
[[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
[[ $GERRIT_PROJECT =~ .+ ]]
[[ $GERRIT_BRANCH =~ .+ ]]
+
gs_path_review="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER"
+if [[ $GERRIT_BRANCH = "master" ]] ; then
+ gs_path_branch="artifacts.opnfv.org/$GERRIT_PROJECT"
+else
+ gs_path_branch="artifacts.opnfv.org/$GERRIT_PROJECT/${{GERRIT_BRANCH##*/}}"
+fi
+
for dir in "${{directories[@]}}"; do
echo
echo "#############################"
echo "#############################"
echo
- if [[ $GERRIT_BRANCH = "master" ]] ; then
- gs_path_branch="artifacts.opnfv.org/$GERRIT_PROJECT"
- else
- gs_path_branch="artifacts.opnfv.org/$GERRIT_PROJECT/${{GERRIT_BRANCH##*/}}"
- fi
if [[ $JOB_NAME =~ "verify" ]] ; then
+
+ #upload artifacts for verify job
gsutil cp -r docs/output/"${{dir##*/}}/" "gs://$gs_path_review/"
+
# post link to gerrit as comment
gerrit_comment="$(echo '"Document is available at 'http://$gs_path_review/"${{dir##*/}}"/index.html' for review"')"
echo "$gerrit_comment"
ssh -p 29418 gerrit.opnfv.org gerrit review -p $GERRIT_PROJECT -m \
"$gerrit_comment" $GERRIT_PATCHSET_REVISION
+ #set cache to 0
+ for x in $(gsutil ls gs://$gs_path_review/"${{dir##*/}}" | grep html);
+ do
+ gsutil setmeta -h "Content-Type:text/html" \
+ -h "Cache-Control:private, max-age=0, no-transform" \
+ "$x"
+ done
+
else
- gsutil cp -r docs/output/"${{dir##*/}}/" "gs://$gs_path_branch/"
- echo "Latest document is available at http://$gs_path_branch/index.html"
+ #upload artifacts for merge job
+ gsutil cp -r docs/output/"${{dir##*/}}" "gs://$gs_path_branch/docs/"
+ echo "Latest document is available at http://$gs_path_branch/docs/"${{dir##*/}}"/index.html"
+
+ #set cache to 0
+ for x in $(gsutil ls gs://$gs_path_branch/"${{dir}}" | grep html);
+ do
+ gsutil setmeta -h "Content-Type:text/html" \
+ -h "Cache-Control:private, max-age=0, no-transform" \
+ "$x"
+ done
#Clean up review when merging
if gsutil ls "gs://$gs_path_review" > /dev/null 2>&1 ; then
jobs:
- 'releng-verify'
+ - 'releng-merge'
# stream: branch with - in place of / (eg. stable-arno)
# branch: branch (eg. stable/arno)
builders:
- shell:
!include-raw docu-build-new.sh
+
+
+- job-template:
+ name: 'releng-merge'
+
+ # builder-merge job to run JJB update
+ #
+ # This job's purpose is to update all the JJB
+
+ node: master
+
+ project-type: freestyle
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 40
+ artifactDaysToKeep: -1
+ artifactNumToKeep: 5
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: 'master'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ wrappers:
+ - ssh-agent-credentials:
+ user: '{ssh-credentials}'
+
+ triggers:
+ - gerrit:
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'releng'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'utils/**'
+ - compare-type: ANT
+ pattern: 'docs/**'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'jjb/**'
+
+ builders:
+ - shell:
+ !include-raw docu-build-new.sh