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
10 # http://www.apache.org/licenses/LICENSE-2.0
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.
18 # SPDX-License-Identifier: Apache-2.0
19 # ============LICENSE_END=========================================================
21 # install dependencies
22 sudo apt update > /dev/null 2>&1
23 sudo apt remove -y -q=3 shellcheck > /dev/null 2>&1
25 # apt doesn't have the shellcheck version v0.7.0 so we install
27 sudo snap install shellcheck
28 SHELLCHECK_EXECUTABLE=/snap/bin/shellcheck
29 echo "Info: Using shellcheck version $(${SHELLCHECK_EXECUTABLE} --version)"
32 echo "Info: Run shellcheck on bash scripts"
33 echo "----------------------------------------------------"
35 # set exit_code so we exit ourselves rather than shellcheck bailing out without
36 # verifying all the bash scripts
37 declare -i exit_code=0
39 # lint the bash scripts
40 for shell_script in $(find ${WORKSPACE}/ -type f -name *.sh); do
41 echo "--> Checking '${shell_script}' shell script..."
42 "${SHELLCHECK_EXECUTABLE}" --color=never --source-path="${WORKSPACE}" --external-sources \
43 --format=tty ${shell_script}
45 if [[ $lint_exit_code != 0 ]]; then
46 exit_code=$lint_exit_code
52 echo "----------------------------------------------------"
56 # vim: set ts=2 sw=2 expandtab: