1144f14a9ebc943b1178d50385bcf434a1e561d2
[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 ${shell_script}
37   lint_exit_code=$?
38   if [[ $lint_exit_code != 0 ]]; then
39     exit_code=$lint_exit_code
40   else
41     echo [OK]
42   fi
43   echo
44 done
45 echo "----------------------------------------------------"
46 echo "Info: Done"
47 exit $exit_code
48
49 # vim: set ts=2 sw=2 expandtab: