X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng-macros.yaml;h=c14ea6c47e8ebfa57638a191701c0d3ddba211bc;hb=df4298ad8d7a6323eeffb61a997f087746e35256;hp=f9cb95209d6fa8bb15a06ab389e9ec2dd2096428;hpb=a3eda1ce7953fc80ecf07905c2e551893b6ffc10;p=releng.git diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml index f9cb95209..c14ea6c47 100644 --- a/jjb/releng-macros.yaml +++ b/jjb/releng-macros.yaml @@ -7,6 +7,14 @@ name: PROJECT default: '{project}' description: "JJB configured PROJECT parameter to identify an opnfv Gerrit project" + - string: + name: GS_BASE + default: artifacts.opnfv.org/$PROJECT + description: "URL to Google Storage." + - string: + name: GS_BASE_PROXY + default: build.opnfv.org/artifacts/$PROJECT + description: "URL to Google Storage proxy" - parameter: name: gerrit-parameter @@ -48,6 +56,21 @@ timeout: 360 fail: true +- trigger: + name: 'daily-trigger-disabled' + triggers: + - timed: '' + +- trigger: + name: 'weekly-trigger-disabled' + triggers: + - timed: '' + +- trigger: + name: 'brahmaputra-trigger-daily-enabled' + triggers: + - timed: '0 2 * * *' + - trigger: name: gerrit-trigger-patch-submitted triggers: @@ -151,21 +174,25 @@ name: build-html-and-pdf-docs-output builders: - shell: | - #!/bin/bash -e + #!/bin/bash + set -o errexit + set -o xtrace export PATH=$PATH:/usr/local/bin/ - git clone ssh://gerrit.opnfv.org:29418/releng - GERRIT_COMMENT=gerrit_comment.txt ./releng/utils/docs-build.sh + git clone ssh://gerrit.opnfv.org:29418/opnfvdocs docs_build/_opnfvdocs + GERRIT_COMMENT=gerrit_comment.txt ./docs_build/_opnfvdocs/scripts/docs-build.sh - builder: name: upload-under-review-docs-to-opnfv-artifacts builders: - shell: | - #!/bin/bash -e + #!/bin/bash + set -o errexit set -o pipefail + set -o xtrace export PATH=$PATH:/usr/local/bin/ [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] - [[ -d output ]] + [[ -d docs_output ]] || exit 0 echo echo "###########################" @@ -173,12 +200,12 @@ echo "###########################" echo - gs_base="artifacts.opnfv.org/review" + gs_base="artifacts.opnfv.org/$PROJECT/review" gs_path="$gs_base/$GERRIT_CHANGE_NUMBER" local_path="upload/$GERRIT_CHANGE_NUMBER" mkdir -p upload - mv output "$local_path" + mv docs_output "$local_path" gsutil -m cp -r "$local_path" "gs://$gs_base" if gsutil ls "gs://$gs_path" | grep -e 'html$' > /dev/null 2>&1 ; then @@ -193,32 +220,29 @@ sed -e "s|^$local_path| http://$gs_path|" >> gerrit_comment.txt - builder: - name: upload-merged-docs-to-opnfv-artifacts + name: upload-generated-docs-to-opnfv-artifacts builders: - shell: | - #!/bin/bash -e + #!/bin/bash + set -o errexit set -o pipefail + set -o xtrace export PATH=$PATH:/usr/local/bin/ - [[ -d output ]] + [[ -d docs_output ]] || exit 0 echo - echo "#####################" - echo "UPLOADING MERGED DOCS" - echo "#####################" + echo "########################" + echo "UPLOADING GENERATED DOCS" + echo "########################" echo - if [[ "$GERRIT_BRANCH" == "master" ]] ; then - gs_base="artifacts.opnfv.org/$GERRIT_PROJECT" - else - gs_base="artifacts.opnfv.org/$GERRIT_PROJECT/$GERRIT_BRANCH" - fi - gs_path="$gs_base/docs" + gs_path="$GS_URL/docs" local_path="upload/docs" mkdir -p upload - mv output "$local_path" - gsutil -m cp -r "$local_path" "gs://$gs_base" + mv docs_output "$local_path" + gsutil -m cp -r "$local_path" "gs://$GS_URL" if gsutil ls "gs://$gs_path" | grep -e 'html$' > /dev/null 2>&1 ; then gsutil -m setmeta \ @@ -235,7 +259,10 @@ name: report-docs-build-result-to-gerrit builders: - shell: | - #!/bin/bash -e + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace export PATH=$PATH:/usr/local/bin/ if [[ -e gerrit_comment.txt ]] ; then echo @@ -246,18 +273,29 @@ ssh -p 29418 gerrit.opnfv.org \ "gerrit review -p $GERRIT_PROJECT \ -m '$(cat gerrit_comment.txt)' \ - $GERRIT_PATCHSET_REVISION" + $GERRIT_PATCHSET_REVISION \ + --notify NONE" fi - builder: name: remove-old-docs-from-opnfv-artifacts builders: - shell: | - #!/bin/bash -e + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace export PATH=$PATH:/usr/local/bin/ [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] + gs_path="artifacts.opnfv.org/$PROJECT/review/$GERRIT_CHANGE_NUMBER" + + if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then + echo + echo "Deleting Out-of-dated Documents..." + gsutil -m rm -r "gs://$gs_path" + fi gs_path="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER" if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then @@ -266,6 +304,100 @@ gsutil -m rm -r "gs://$gs_path" fi +- builder: + name: build-and-upload-artifacts-json-api + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + export PATH=$PATH:/usr/local/bin/ + + virtualenv -p python2.7 $WORKSPACE/releng_artifacts + source $WORKSPACE/releng_artifacts/bin/activate + + # install python packages + pip install google-api-python-client + + # generate and upload index file + echo "Generating Artifacts API ..." + python $WORKSPACE/utils/opnfv-artifacts.py > index.json + gsutil cp index.json gs://artifacts.opnfv.org/index.json + + deactivate + +- builder: + name: lint-python-code + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace + export PATH=$PATH:/usr/local/bin/ + + virtualenv -p python2.7 $WORKSPACE/releng_flake8 + source $WORKSPACE/releng_flake8/bin/activate + + # install python packages + pip install "flake8==2.6.2" + + # generate and upload lint log + echo "Running flake8 code on $PROJECT ..." + + # Get number of flake8 violations. If none, this will be an + # empty string: "" + FLAKE_COUNT="$(find . \ + -path './releng_flake8' -prune -o \ + -path './.tox' -prune -o \ + -type f -name "*.py" -print | \ + xargs flake8 --exit-zero -qq --count 2>&1)" + + # Ensure we start with a clean environment + rm -f lint.log + + if [ ! -z $FLAKE_COUNT ]; then + echo "Flake8 Violations: $FLAKE_COUNT" > lint.log + find . \ + -path './releng_flake8' -prune -o \ + -path './.tox' -prune -o \ + -type f -name "*.py" -print | \ + xargs flake8 --exit-zero --first >> violation.log + SHOWN=$(wc -l violation.log | cut -d' ' -f1) + echo -e "First $SHOWN shown\n---" >> lint.log + cat violation.log >> lint.log + sed -r -i '4,$s/^/ /g' lint.log + rm violation.log + fi + + deactivate + +- builder: + name: report-lint-result-to-gerrit + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace + export PATH=$PATH:/usr/local/bin/ + + # If no violations were found, no lint log will exist. + if [[ -e lint.log ]] ; then + echo -e "\nposting linting report to gerrit...\n" + + cat lint.log + echo + + ssh -p 29418 gerrit.opnfv.org \ + "gerrit review -p $GERRIT_PROJECT \ + -m \"$(cat lint.log)\" \ + $GERRIT_PATCHSET_REVISION \ + --notify NONE" + + exit 1 + fi + - builder: name: upload-review-docs builders: @@ -277,6 +409,11 @@ name: upload-merged-docs builders: - build-html-and-pdf-docs-output - - upload-merged-docs-to-opnfv-artifacts + - upload-generated-docs-to-opnfv-artifacts - report-docs-build-result-to-gerrit - remove-old-docs-from-opnfv-artifacts + +- builder: + name: check-bash-syntax + builders: + - shell: "find . -name '*.sh' | xargs bash -n"