diff options
author | Trevor Bramwell <tbramwell@linuxfoundation.org> | 2016-04-12 12:06:51 -0700 |
---|---|---|
committer | Trevor Bramwell <tbramwell@linuxfoundation.org> | 2016-04-12 16:11:39 -0700 |
commit | 135a03ece1781852e026a4bb3fae1f8cebf61453 (patch) | |
tree | c259f233db907fd6b99c61056158602a9424b384 | |
parent | 81c7a55635d6b64c403a948869064b1d70238ade (diff) |
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 <tbramwell@linuxfoundation.org>
-rw-r--r-- | jjb/opnfv/opnfv-lint.yml | 64 | ||||
-rw-r--r-- | jjb/releng-macros.yaml | 44 |
2 files changed, 108 insertions, 0 deletions
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 @@ -321,6 +321,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: - build-html-and-pdf-docs-output |