name: Scan-build on: push: paths-ignore: - "doc/**" - "etc/schema.json" pull_request: paths-ignore: - "doc/**" - "etc/schema.json" permissions: read-all concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: scan-build: name: Scan-build runs-on: ubuntu-latest container: ubuntu:26.04 steps: - name: Cache scan-build uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 with: path: ~/.cargo key: scan-build - run: apt update && apt -y install git - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - name: Build with scan-build run: ./qa/ci/scan-build.sh - name: 'Upload Scan Build Results' uses: actions/upload-artifact@v7.0.1 if: always() with: name: scan-build-results path: scan-build-report/ retention-days: 5 gcc-analyzer: name: GCC analyzer runs-on: ubuntu-latest container: ubuntu:26.04 steps: - name: Cache scan-build uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 with: path: ~/.cargo key: scan-build - name: Install system packages run: | apt update apt -y install \ libpcre2-dev \ build-essential \ autoconf \ automake \ cargo \ cbindgen \ dpdk-dev \ gcc-16 \ git \ libtool \ libpcap-dev \ libnet1-dev \ libyaml-0-2 \ libyaml-dev \ libcap-ng-dev \ libcap-ng0 \ libmagic-dev \ libnetfilter-log-dev \ libnetfilter-queue-dev \ libnetfilter-queue1 \ libnfnetlink-dev \ libnfnetlink0 \ libnuma-dev \ libhiredis-dev \ libhyperscan-dev \ libjansson-dev \ libevent-dev \ libevent-pthreads-2.1-7 \ liblz4-dev \ make \ python3-yaml \ rustc \ software-properties-common \ zlib1g \ zlib1g-dev - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - run: git config --global --add safe.directory /__w/suricata/suricata - run: ./scripts/bundle.sh - run: ./autogen.sh - run: ./configure --enable-warnings --enable-dpdk --enable-nfqueue --enable-nflog --enable-debug-validation env: CC: gcc-16 CFLAGS: "-fanalyzer -Werror" SURICATA_LUA_SYS_CFLAGS: "" - run: make