From 65bd185889d86bef4a0f2fc01537d1bacab5f9fa Mon Sep 17 00:00:00 2001 From: bneradt Date: Wed, 26 Aug 2026 20:51:18 -0500 Subject: [PATCH] Run Clang 21 analyzer on Ubuntu 26.04 The analyzer job is pinned to Ubuntu 22.04 and versioned Clang 14 tool names, so it misses newer diagnostics and enables alpha.core.SizeofPtr, a checker current Clang releases no longer provide. This patch moves the job to the Ubuntu 26.04 image and its unversioned Clang entry points, drops the retired checker, and excludes the vendored Highway subtree so third party findings cannot hold back an ATS owned clean baseline. The Ubuntu 26.04 image needs to be published before this merges, so the analyzer job stays green through the transition. Co-authored-by: Claude Opus 5 --- jenkins/github/clang-analyzer.pipeline | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/jenkins/github/clang-analyzer.pipeline b/jenkins/github/clang-analyzer.pipeline index 2d38bdb..f64c64a 100644 --- a/jenkins/github/clang-analyzer.pipeline +++ b/jenkins/github/clang-analyzer.pipeline @@ -1,7 +1,7 @@ pipeline { agent { docker { - image 'ci.trafficserver.apache.org/ats/ubuntu:22.04' + image 'ci.trafficserver.apache.org/ats/ubuntu:26.04' registryUrl 'https://ci.trafficserver.apache.org/' args '-v /home/rooter/clang-analyzer:/tmp/clang-analyzer:rw' label 'docker' @@ -72,25 +72,26 @@ pipeline { cmake -B build --preset ci-clang-analyzer cmake --build build -v - analyze-build-14 \ + analyze-build \ --cdb build/compile_commands.json \ -v \ --status-bugs \ --keep-empty \ + --exclude "${WORKSPACE}/src/lib/highway" \ -enable-checker alpha.unix.cstring.BufferOverlap \ -enable-checker alpha.core.BoolAssignment \ -enable-checker alpha.core.CastSize \ - -enable-checker alpha.core.SizeofPtr \ -o ${WORKSPACE}/output/${GITHUB_PR_NUMBER} \ --html-title="clang-analyzer: ${GITHUB_PR_NUMBER}" else echo "CMake builds are not supported for the this branch." echo "Falling back to autotools." autoreconf -fiv - scan-build-14 --keep-cc ./configure --enable-experimental-plugins --with-luajit + scan-build --keep-cc ./configure --enable-experimental-plugins --with-luajit make -j4 -C lib all-local V=1 Q= - scan-build-14 --keep-cc -enable-checker alpha.unix.cstring.BufferOverlap -enable-checker \ - alpha.core.BoolAssignment -enable-checker alpha.core.CastSize -enable-checker alpha.core.SizeofPtr \ + scan-build --keep-cc --exclude "${WORKSPACE}/src/lib/highway" \ + -enable-checker alpha.unix.cstring.BufferOverlap -enable-checker \ + alpha.core.BoolAssignment -enable-checker alpha.core.CastSize \ --status-bugs --keep-empty \ -o ${WORKSPACE}/output/${GITHUB_PR_NUMBER} --html-title="clang-analyzer: ${GITHUB_PR_NUMBER}" \ make -j3 V=1 Q=