cloud-infra: Specify lookup path for shellcheck
[infra/cicd.git] / jjb / cloud-infra / scripts / cloud-infra-shellcheck.sh
1 #!/bin/bash
2
3 # ============LICENSE_START=======================================================
4 #  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
5 # ================================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #      http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18 # SPDX-License-Identifier: Apache-2.0
19 # ============LICENSE_END=========================================================
20
21 # install dependencies
22 sudo apt update > /dev/null 2>&1
23 sudo apt install -y -q=3 shellcheck > /dev/null 2>&1
24
25 cd $WORKSPACE
26 echo "Info: Run shellcheck on bash scripts"
27 echo "----------------------------------------------------"
28
29 # set exit_code so we exit ourselves rather than shellcheck bailing out without
30 # verifying all the bash scripts
31 declare -i exit_code=0
32
33 # lint the bash scripts
34 for shell_script in $(find ${WORKSPACE}/ -type f -name *.sh); do
35   echo "--> Checking '${shell_script}' shell script..."
36   shellcheck --color=never --source-path="${WORKSPACE}" --external-sources \
37       --format=tty ${shell_script}
38   lint_exit_code=$?
39   if [[ $lint_exit_code != 0 ]]; then
40     exit_code=$lint_exit_code
41   else
42     echo [OK]
43   fi
44   echo
45 done
46 echo "----------------------------------------------------"
47 echo "Info: Done"
48 exit $exit_code
49
50 # vim: set ts=2 sw=2 expandtab: