jjb: babeltrace: add shellcheck to lint jobs
[lttng-ci.git] / scripts / babeltrace / lint.sh
CommitLineData
51c9c62d 1#!/bin/bash
890bff23 2#
af11423c
MJ
3# Copyright (C) 2019 Michael Jeanson <mjeanson@efficios.com>
4# Copyright (C) 2019 Francis Deslauriers <francis.deslauriers@efficios.com>
890bff23
MJ
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
51c9c62d
MJ
19set -exu
20
945874c0
MJ
21set -o pipefail
22
96cf4d4d 23PYTHON3=python3
890bff23 24
be97a1e6 25SRCDIR="$WORKSPACE/src/babeltrace"
890bff23
MJ
26PYENV_HOME="$WORKSPACE/.pyenv/"
27
28# Delete previously built virtualenv
944a6c86
MJ
29if [ -d "$PYENV_HOME" ]; then
30 rm -rf "$PYENV_HOME"
890bff23
MJ
31fi
32
33# Create virtualenv and install necessary packages
944a6c86 34virtualenv --system-site-packages -p ${PYTHON3} "$PYENV_HOME"
453b388a 35
af11423c 36set +ux
8f584fa6 37# shellcheck disable=SC1090,SC1091
944a6c86 38. "$PYENV_HOME/bin/activate"
af11423c
MJ
39set -ux
40
be97a1e6
MJ
41if [ -f "$SRCDIR/dev-requirements.txt" ]; then
42 pip install -r "$SRCDIR/dev-requirements.txt"
43else
8f584fa6 44 pip install black flake8 isort
be97a1e6 45fi
af11423c
MJ
46
47exit_code=0
453b388a 48
be97a1e6 49cd "$SRCDIR"
890bff23 50
af11423c 51black --diff --check . | tee ../../black.out || exit_code=1
945874c0 52flake8 --output-file=../../flake8.out --tee || exit_code=1
890bff23 53
8f584fa6
MJ
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
09c31b17
SM
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
fa616aea
MJ
68if [[ -f tools/shellcheck.sh ]]; then
69 tools/shellcheck.sh | tee ../../shellcheck.out || exit_code=1
70fi
71
af11423c 72exit $exit_code
This page took 0.032477 seconds and 4 git commands to generate.