diff options
author | Deepshikha khandelwal <dkhandel@redhat.com> | 2018-11-16 12:18:33 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2019-04-11 04:01:30 +0000 |
commit | 68db52030ab9547742329805444bdd458526dadc (patch) | |
tree | 173cfdd9be17654008bc6f6b2b5983d399710022 /build-gluster-org | |
parent | 50a78802c62a3716ce9cde23bbd6e5116f4dbe6c (diff) |
Non-voting job to validate shell script using ShellCheck tool
Change-Id: If0077909dd7e2b734f551c53e230a03c65265350
Diffstat (limited to 'build-gluster-org')
-rw-r--r-- | build-gluster-org/jobs/shellcheck.yml | 60 | ||||
-rw-r--r-- | build-gluster-org/scripts/shellcheck.sh | 22 |
2 files changed, 82 insertions, 0 deletions
diff --git a/build-gluster-org/jobs/shellcheck.yml b/build-gluster-org/jobs/shellcheck.yml new file mode 100644 index 0000000..2948e51 --- /dev/null +++ b/build-gluster-org/jobs/shellcheck.yml @@ -0,0 +1,60 @@ +- job: + name: shellcheck + node: smoke7 + description: shell script validation using ShellCheck tool + project-type: freestyle + concurrent: true + + scm: + - glusterfs + + properties: + - discard-after-x: + x: 30 + - one-build-per-node + + 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 smoke" + server-name: review.gluster.org_for-smoke-jobs + skip-vote: + failed: true + unstable: true + notbuilt: true + projects: + - project-compare-type: 'PLAIN' + project-pattern: 'glusterfs' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**' + + parameters: + - string: + default: refs/heads/master + description: 'For review 12345 and patch set 6, this will be refs/changes/45/12345/6. Default: Tip of master' + name: GERRIT_REFSPEC + - string: + default: master + description: 'Name of the branch you want to build from. We usually build from master' + name: GERRIT_BRANCH + + builders: + - shell: !include-raw: ../scripts/shellcheck.sh + + publishers: + - archive: + allow-empty: true + artifacts: "shellcheck.txt" + default-excludes: true + fingerprint: false + only-if-success: false + + wrappers: + - timestamps diff --git a/build-gluster-org/scripts/shellcheck.sh b/build-gluster-org/scripts/shellcheck.sh new file mode 100644 index 0000000..f5e2278 --- /dev/null +++ b/build-gluster-org/scripts/shellcheck.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +./autogen.sh +./configure --disable-bd-xlator --enable-debug --enable-gnfs --silent + +find . -path ./.git -prune -o -path ./tests -prune -o -exec file {} \; \ + | grep "shell script" \ + | cut -d: -f 1 \ + | xargs shellcheck \ + >shellcheck.txt + +SHELLCHECK_COUNT="$(grep -c 'In' shellcheck.txt)" + +#fail build if there's any issue or warning +if [[ "$SHELLCHECK_COUNT" -gt 0 ]]; then + echo "" + echo "=========================================================" + echo " Result of ShellCheck" + echo " Number of ShellCheck errors/warnings: ${SHELLCHECK_COUNT}" + echo "=========================================================" + exit 1 +fi |