Files
scst/scripts/ci/analyzers.Dockerfile
T
Gleb Chesnokov 0c5a41bba8 .github/workflows: Run Sparse and Smatch with KUnit
Run isolated tooling checks and separate Sparse and Smatch Make targets
on pushes to master and manual dispatch. Use the pinned kernel with
KUnit enabled and preserve full logs, policy and tool provenance.

During the source-fix rollout, completed source findings are advisory.
Tool, build, parser and coverage failures remain blocking, including an
empty scan or missing KUnit inputs. Local Make targets stay strict.
Validate the current run's report together with Make's exit status,
since Make maps both findings and incomplete analysis to status 2.

Prepare the runner and container for Coccinelle and Cppcheck as well,
but leave their matrix entries commented out. Cover all four report
formats and GNU Make exit mapping with isolated tooling fixtures.
2026-10-19 21:38:56 +03:00

14 lines
716 B
Docker

# SPDX-License-Identifier: GPL-2.0-only
FROM fedora:44@sha256:43b29f65a41eb9c35e1cd5323e3bdf3b655c2357a9f4f1ff2f9c2798e5045d80
RUN dnf install -y --setopt=install_weak_deps=False \
gcc make git python3 perl elfutils-libelf-devel openssl openssl-devel \
sqlite-devel flex bison pkgconf-pkg-config diffutils findutils \
curl-minimal xz tar gzip dwarves coccinelle cppcheck && dnf clean all
COPY scripts/ci/kernel.env scripts/ci/kernel.SHA256SUMS /opt/scst-ci/
COPY scripts/ci/analyzers.env scripts/ci/install-analyzers /opt/scst-ci/
COPY scripts/sparse_smatch/patches/typeof-address-space.patch /opt/scst-ci/
RUN bash /opt/scst-ci/install-analyzers
WORKDIR /scst
ENV PYTHONDONTWRITEBYTECODE=1