From: Trevor Bramwell Date: Tue, 12 Apr 2016 19:06:51 +0000 (-0700) Subject: Add Python Linting Job X-Git-Tag: colorado.1.0~584^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=135a03ece1781852e026a4bb3fae1f8cebf61453;p=releng.git Add Python Linting Job Triggers a flake8 run against any python code in the repo. JIRA: RELENG-81 Change-Id: Ia57d640b5aacdc4f99620ffa3ee345f208b426ea Signed-off-by: Trevor Bramwell --- diff --git a/jjb/opnfv/opnfv-lint.yml b/jjb/opnfv/opnfv-lint.yml new file mode 100644 index 000000000..aeea34e65 --- /dev/null +++ b/jjb/opnfv/opnfv-lint.yml @@ -0,0 +1,64 @@ +######################## +# Job configuration for opnfv-lint +######################## +- project: + + name: opnfv-lint + + project: opnfv-lint + + jobs: + - 'opnfv-lint-verify-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + - brahmaputra: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + +######################## +# job templates +######################## + +- job-template: + name: 'opnfv-lint-verify-{stream}' + + parameters: + - project-parameter: + project: $GERRIT_PROJECT + - gerrit-parameter: + branch: '{branch}' + + scm: + - gerrit-trigger-scm: + credentials-id: '{ssh-credentials}' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + 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: 'REG_EXP' + project-pattern: 'functest' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: '**/*.py' + + builders: + - lint-python-code + - report-lint-result-to-gerrit diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml index 8c1539c8b..3bac38a2a 100644 --- a/jjb/releng-macros.yaml +++ b/jjb/releng-macros.yaml @@ -320,6 +320,50 @@ 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 + + # generate and upload lint log + echo "Running flake8 code on $PROJECT ..." + + echo -e "Flake8 Violations\n-----------------" >> lint.log + find . -type f -name "*.py" | \ + xargs flake8 --exit-zero --first >> lint.log + + 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 [[ -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" + fi + - builder: name: upload-review-docs builders: