mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-26 22:52:34 +02:00
util/lint: Introduce linter for git sign-off-by line
For compliance and to check if the commit message matches the development guidelines, add a linter checking for the sign-off-by line in the commit message. Also, hook it up to the test_build.sh script which is used for CI builds. These scripts were copied from the coreboot repository and were adjusted so that they work for flashrom. Change-Id: I03f1827803f8492d60a0a44174d5822c2265bfcb Signed-off-by: Felix Singer <felixsinger@posteo.net> Reviewed-on: https://review.coreboot.org/c/flashrom/+/70079 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
This commit is contained in:
parent
c2af789c5e
commit
748575abb2
@ -26,6 +26,11 @@ if [ "$(basename "${CC}")" = "ccc-analyzer" ] || [ -n "${COVERITY_OUTPUT}" ]; th
|
||||
fi
|
||||
|
||||
|
||||
run_linter() {
|
||||
./util/lint/lint-extended-020-signed-off-by
|
||||
}
|
||||
|
||||
|
||||
build_make () {
|
||||
make clean
|
||||
make -j $(nproc) CONFIG_EVERYTHING=yes
|
||||
@ -67,5 +72,7 @@ build_meson () {
|
||||
}
|
||||
|
||||
|
||||
run_linter
|
||||
|
||||
build_make
|
||||
build_meson
|
||||
|
45
util/lint/helper_functions.sh
Normal file
45
util/lint/helper_functions.sh
Normal file
@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env sh
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
# This file is sourced by the linters so that each one doesn't have to
|
||||
# specify these routines individually
|
||||
|
||||
LC_ALL=C export LC_ALL
|
||||
|
||||
if [ -z "$GIT" ]; then
|
||||
GIT="$(command -v git)"
|
||||
else
|
||||
# If git is specified, Do a basic check that it runs and seems like
|
||||
# it's actually git
|
||||
if ! "${GIT}" --version | grep -q git; then
|
||||
echo "Error: ${GIT} does not seem to be valid."
|
||||
exit 1;
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$(${GIT} rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]; then
|
||||
IN_GIT_TREE=1
|
||||
else
|
||||
IN_GIT_TREE=0
|
||||
fi
|
||||
|
||||
if [ "${IN_GIT_TREE}" -eq 1 ] && [ -z "${GIT}" ]; then
|
||||
echo "This test needs git to run. Please install it, then run this test again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Use git ls-files if the code is in a git repo, otherwise use find.
|
||||
if [ "${IN_GIT_TREE}" -eq 1 ]; then
|
||||
FIND_FILES="${GIT} ls-files"
|
||||
else
|
||||
FIND_FILES="find "
|
||||
FINDOPTS="-type f"
|
||||
fi
|
||||
|
||||
# Use git grep if the code is in a git repo, otherwise use grep.
|
||||
if [ "${IN_GIT_TREE}" -eq 1 ]; then
|
||||
GREP_FILES="${GIT} grep"
|
||||
else
|
||||
GREP_FILES="grep -r"
|
||||
fi
|
23
util/lint/lint-extended-020-signed-off-by
Executable file
23
util/lint/lint-extended-020-signed-off-by
Executable file
@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env sh
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#
|
||||
# DESCR: Check for a signed-off-by line on the latest commit
|
||||
|
||||
|
||||
LINTDIR="$(
|
||||
cd -- "$(dirname "$0")" > /dev/null 2>&1 || return
|
||||
pwd -P
|
||||
)"
|
||||
|
||||
# shellcheck source=helper_functions.sh
|
||||
. "${LINTDIR}/helper_functions.sh"
|
||||
|
||||
if [ "${IN_GIT_TREE}" -eq 0 ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# This test is mainly for the jenkins server
|
||||
if ! ${GIT} log -n 1 | grep -q '[[:space:]]\+Signed-off-by: '; then
|
||||
echo "No Signed-off-by line in commit message"
|
||||
exit 1
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user