GitLab CI+tools: Make our clang version configurable.
Track our preferred version of clang using $CLANG_VERSION in .gitlab-ci.yml. Update validate-clang-check.sh to accept a clang version.
This commit is contained in:
parent
ce95951993
commit
c603a5f2c1
|
@ -23,6 +23,8 @@ variables:
|
|||
GIT_DEPTH: "1"
|
||||
GIT_FETCH_EXTRA_FLAGS: "--depth=5000"
|
||||
CCACHE_DIR: "${CI_PROJECT_DIR}/ccache"
|
||||
# Preferred version of clang available on wireshark-ubuntu-dev
|
||||
CLANG_VERSION: 12
|
||||
# Enable color output in CMake, Ninja, and other tools. https://bixense.com/clicolors/
|
||||
CLICOLOR_FORCE: 1
|
||||
|
||||
|
@ -144,13 +146,13 @@ variables:
|
|||
needs: []
|
||||
|
||||
# Rely on fedora:latest and debian-stable jobs for testing a recent GCC version.
|
||||
clang-12:
|
||||
clang-latest:
|
||||
extends:
|
||||
- .build-ubuntu
|
||||
- .if-merged
|
||||
variables:
|
||||
CC: clang-12
|
||||
CXX: clang++-12
|
||||
CC: "clang-$CLANG_VERSION"
|
||||
CXX: "clang++-$CLANG_VERSION"
|
||||
|
||||
build:ubuntu-dist:
|
||||
stage: .pre
|
||||
|
@ -390,8 +392,8 @@ merge-req:ubuntu-clang-other-tests:
|
|||
tags:
|
||||
- docker
|
||||
variables:
|
||||
CC: clang-12
|
||||
CXX: clang++-12
|
||||
CC: "clang-$CLANG_VERSION"
|
||||
CXX: "clang++-$CLANG_VERSION"
|
||||
script:
|
||||
# build-ubuntu puts us in `build`.
|
||||
- cd ..
|
||||
|
@ -405,7 +407,7 @@ merge-req:ubuntu-clang-other-tests:
|
|||
- script --command ninja --flush --quiet --return ../clang_report.txt
|
||||
- ansi2html < ../clang_report.txt > ../clang_report.html
|
||||
- ./run/tshark -v
|
||||
- sh -c '[ ! -e ../tools/validate-clang-check.sh ] || ../tools/validate-clang-check.sh'
|
||||
- ../tools/validate-clang-check.sh -c $CLANG_VERSION
|
||||
- ninja checkAPI
|
||||
artifacts:
|
||||
paths:
|
||||
|
@ -487,7 +489,6 @@ clang-scan-build:
|
|||
stage: analysis
|
||||
needs: []
|
||||
variables:
|
||||
CLANG_VERSION: 12
|
||||
CC: "clang-${CLANG_VERSION}"
|
||||
CXX: "clang++-${CLANG_VERSION}"
|
||||
script:
|
||||
|
|
|
@ -11,10 +11,23 @@
|
|||
#
|
||||
|
||||
COMMIT_FILES=$( git diff-index --cached --name-status HEAD^ | grep -v "^D" | cut -f2 | grep "\\.c$\|cpp$" )
|
||||
CLANG_CHECK_CMD=clang-check
|
||||
|
||||
while getopts c: OPTCHAR
|
||||
do
|
||||
case $OPTCHAR in
|
||||
c)
|
||||
CLANG_CHECK_CMD="clang-check-$OPTARG"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $( basename "$0" ) [ -c <clang version> ]"
|
||||
esac
|
||||
done
|
||||
|
||||
for FILE in $COMMIT_FILES; do
|
||||
# Skip some special cases
|
||||
FILE_BASENAME="$(basename $FILE)"
|
||||
FILE_BASENAME="$( basename "$FILE" )"
|
||||
# iLBC: the file is not even compiled when ilbc is not installed
|
||||
if test "$FILE_BASENAME" = "iLBCdecode.c"
|
||||
then
|
||||
|
@ -26,6 +39,6 @@ for FILE in $COMMIT_FILES; do
|
|||
continue
|
||||
fi
|
||||
|
||||
clang-check ../$FILE
|
||||
clang-check -analyze ../$FILE
|
||||
"$CLANG_CHECK_CMD" "../$FILE"
|
||||
"$CLANG_CHECK_CMD" -analyze "../$FILE"
|
||||
done
|
||||
|
|
Loading…
Reference in New Issue