jjb: babeltrace: add shellcheck to lint jobs
[lttng-ci.git] / scripts / babeltrace / lint.sh
... / ...
CommitLineData
1#!/bin/bash
2#
3# Copyright (C) 2019 Michael Jeanson <mjeanson@efficios.com>
4# Copyright (C) 2019 Francis Deslauriers <francis.deslauriers@efficios.com>
5#
6# This program is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19set -exu
20
21set -o pipefail
22
23PYTHON3=python3
24
25SRCDIR="$WORKSPACE/src/babeltrace"
26PYENV_HOME="$WORKSPACE/.pyenv/"
27
28# Delete previously built virtualenv
29if [ -d "$PYENV_HOME" ]; then
30 rm -rf "$PYENV_HOME"
31fi
32
33# Create virtualenv and install necessary packages
34virtualenv --system-site-packages -p ${PYTHON3} "$PYENV_HOME"
35
36set +ux
37# shellcheck disable=SC1090,SC1091
38. "$PYENV_HOME/bin/activate"
39set -ux
40
41if [ -f "$SRCDIR/dev-requirements.txt" ]; then
42 pip install -r "$SRCDIR/dev-requirements.txt"
43else
44 pip install black flake8 isort
45fi
46
47exit_code=0
48
49cd "$SRCDIR"
50
51black --diff --check . | tee ../../black.out || exit_code=1
52flake8 --output-file=../../flake8.out --tee || exit_code=1
53
54ISORT_UNSUPPORTED_BRANCH_REGEX='.*(stable-1\.5|stable-2\.0)$'
55
56if [[ ! ${GIT_BRANCH:-} =~ $ISORT_UNSUPPORTED_BRANCH_REGEX ]] && \
57 [[ ! ${GERRIT_BRANCH:-} =~ $ISORT_UNSUPPORTED_BRANCH_REGEX ]]; then
58 isort . --diff --check | tee ../../isort.out || exit_code=1
59else
60 echo "isort is not supported on the 'stable-2.0' branch" > ../../isort.out
61fi
62
63if [[ -f tools/format-cpp.sh ]]; then
64 FORMATTER="clang-format-15 -i" tools/format-cpp.sh
65 git diff --exit-code | tee ../../clang-format.out || exit_code=1
66fi
67
68if [[ -f tools/shellcheck.sh ]]; then
69 tools/shellcheck.sh | tee ../../shellcheck.out || exit_code=1
70fi
71
72exit $exit_code
This page took 0.021579 seconds and 4 git commands to generate.