summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
authorJun Li <matthew.lijun@huawei.com>2016-12-27 05:48:37 +0000
committerGerrit Code Review <gerrit@opnfv.org>2016-12-27 05:48:37 +0000
commit2140c5da2dae4fa58e8e07639271f5e7b5487e26 (patch)
treeaed629708f6a6c69dabae9fa0b09b3d8f49b81c2 /jjb
parent53ed9e36a13d03455fc04b3f54ed290037359f6b (diff)
parentcc6e26648833778050e4a59096edee69b538f92b (diff)
Merge "Add YAMLLint for static check"
Diffstat (limited to 'jjb')
-rw-r--r--jjb/global/releng-macros.yml33
-rw-r--r--jjb/releng/opnfv-lint.yml51
2 files changed, 84 insertions, 0 deletions
diff --git a/jjb/global/releng-macros.yml b/jjb/global/releng-macros.yml
index cd92480d4..7647a35d3 100644
--- a/jjb/global/releng-macros.yml
+++ b/jjb/global/releng-macros.yml
@@ -355,3 +355,36 @@
name: check-bash-syntax
builders:
- shell: "find . -name '*.sh' | xargs bash -n"
+
+- builder:
+ name: lint-yaml-code
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+ set -o xtrace
+ export PATH=$PATH:/usr/local/bin/
+
+ # generate and upload lint log
+ echo "Running yaml code on $PROJECT ..."
+
+ # Ensure we start with a clean environment
+ rm -f yaml-violation.log lint.log
+
+ # Get number of yaml violations. If none, this will be an
+ # empty string: ""
+ find . \
+ -path './releng_yamllint' -prune -o \
+ -path './.tox' -prune -o \
+ -type f -name "*.yml" -print \
+ -o -name "*.yaml" -print | \
+ xargs yamllint > yaml-violation.log || true
+
+ if [ -s "yaml-violation.log" ]; then
+ SHOWN=$(cat yaml-violation.log| grep -v "^$" |wc -l)
+ echo -e "First $SHOWN shown\n---" > lint.log
+ cat yaml-violation.log >> lint.log
+ sed -r -i '4,$s/^/ /g' lint.log
+ fi
+
diff --git a/jjb/releng/opnfv-lint.yml b/jjb/releng/opnfv-lint.yml
index 7115cce48..cd122d895 100644
--- a/jjb/releng/opnfv-lint.yml
+++ b/jjb/releng/opnfv-lint.yml
@@ -9,6 +9,7 @@
jobs:
- 'opnfv-lint-verify-{stream}'
+ - 'opnfv-yamllint-verify-{stream}'
stream:
- master:
@@ -64,3 +65,53 @@
builders:
- lint-python-code
- report-lint-result-to-gerrit
+
+- job-template:
+ name: 'opnfv-yamllint-verify-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ - gerrit-parameter:
+ branch: '{branch}'
+ - node:
+ name: SLAVE_NAME
+ description: Slaves to execute yamllint
+ default-slaves:
+ - lf-build1
+ allowed-multiselect: true
+ ignore-offline-nodes: true
+
+ scm:
+ - git-scm-gerrit
+
+ triggers:
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ 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: 'compass4nfv'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: '**/*.yml'
+ - compare-type: ANT
+ pattern: '**/*.yaml'
+
+ builders:
+ - lint-yaml-code
+ - report-lint-result-to-gerrit