Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 37 additions & 6 deletions .github/workflows/builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1754,7 +1754,7 @@ jobs:
runs-on: ubuntu-latest
container:
image: ubuntu:24.04
options: --privileged
options: --privileged --cgroupns=host
needs: [prepare-deps, prepare-cbindgen]
steps:
- name: Cache ~/.cargo
Expand Down Expand Up @@ -1811,7 +1811,11 @@ jobs:
curl \
time \
wget \
dpdk-dev
dpdk-dev \
podman \
ethtool \
iproute2 \
iptables
# specific version to match up to the llvm version in ubuntu below
- name: Install Rust
run: curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.85.1 -y
Expand All @@ -1821,6 +1825,7 @@ jobs:
with:
name: prep
path: prep
- run: tar xf prep/suricata-verify.tar.gz
- uses: ./.github/actions/install-cbindgen
- name: Fix kernel mmap rnd bits
# Asan in llvm 14 provided in ubuntu 22.04 is incompatible with
Expand Down Expand Up @@ -1886,6 +1891,9 @@ jobs:
./qa/live/multi-tenant.sh "autofp"
env:
LLVM_PROFILE_FILE: "/tmp/mt-autofp.profraw"
- run: python3 ./suricata-verify/live/run.py run
env:
LLVM_PROFILE_FILE: "/tmp/sv-live-afpdpdk-%p-%m.profraw"
- run: llvm-profdata-19 merge -o default.profdata $(find /tmp/ -name '*.profraw')
- run: llvm-cov-19 export ./src/suricata -instr-profile=default.profdata -format=lcov --ignore-filename-regex="^/(root|usr|rustc|github)/.*" --skip-branches > coverage.lcov
- name: Upload coverage.lcov artifact
Expand Down Expand Up @@ -1994,7 +2002,7 @@ jobs:
needs: [prepare-deps, prepare-cbindgen]
container:
image: ubuntu:24.04
options: --privileged
options: --privileged --cgroupns=host
steps:
- name: Cache ~/.cargo
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9
Expand Down Expand Up @@ -2041,6 +2049,7 @@ jobs:
libevent-pthreads-2.1-7 \
make \
parallel \
podman \
python3-yaml \
software-properties-common \
sudo \
Expand All @@ -2061,6 +2070,7 @@ jobs:
with:
name: prep
path: prep
- run: tar xf prep/suricata-verify.tar.gz
# packaged Rust version is too old for coverage, so get from rustup. 1.85.1 matches
# LLVM 19
- name: Install Rust
Expand Down Expand Up @@ -2130,7 +2140,12 @@ jobs:
LLVM_PROFILE_FILE: "/tmp/afp-fw-netns-bridge.profraw"
- run: llvm-profdata-19 merge -o afp-fw-netns-bridge.profdata /tmp/afp-fw-netns-bridge.profraw

- run: llvm-profdata-19 merge -o combined.profdata afp-ips.profdata nfq-ips.profdata afp-ips-autofp.profdata nfq-ips-workers.profdata afp-ips-bond1.profdata afp-ips-bond2.profdata afp-fw-netns-bridge.profdata nfq-fw-netns-route.profdata
- run: python3 ./suricata-verify/live/run.py run
env:
LLVM_PROFILE_FILE: "/tmp/sv-live-%p-%m.profraw"
- run: llvm-profdata-19 merge -o sv-live.profdata /tmp/sv-live-*.profraw

- run: llvm-profdata-19 merge -o combined.profdata afp-ips.profdata nfq-ips.profdata afp-ips-autofp.profdata nfq-ips-workers.profdata afp-ips-bond1.profdata afp-ips-bond2.profdata afp-fw-netns-bridge.profdata nfq-fw-netns-route.profdata sv-live.profdata
- run: llvm-cov-19 export ./src/suricata -instr-profile=combined.profdata -format=lcov --ignore-filename-regex="^(/github/home/.cargo/.*|/usr/.*|/rustc/.*)" --skip-branches > coverage.lcov
- name: Upload coverage.lcov artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
Expand All @@ -2150,7 +2165,7 @@ jobs:
runs-on: ubuntu-latest
container:
image: ubuntu:24.04
options: --privileged
options: --privileged --cgroupns=host
needs: [prepare-deps, prepare-cbindgen]
steps:
- name: Cache ~/.cargo
Expand All @@ -2173,9 +2188,13 @@ jobs:
cargo \
cbindgen \
clang-18 \
ethtool \
podman \
git \
hwloc \
libhwloc-dev \
iproute2 \
iptables \
jq \
inetutils-ping \
libc++-dev \
Expand Down Expand Up @@ -2217,6 +2236,7 @@ jobs:
with:
name: prep
path: prep
- run: tar xf prep/suricata-verify.tar.gz
- name: Fix kernel mmap rnd bits
run: sudo sysctl vm.mmap_rnd_bits=28
- run: ./autogen.sh
Expand Down Expand Up @@ -2252,6 +2272,7 @@ jobs:
./qa/live/pcap.sh "single"
- run: |
./qa/live/multi-tenant.sh "autofp"
- run: python3 ./suricata-verify/live/run.py run

ubuntu-24-04-cov-fuzz:
name: Ubuntu 24.04 (fuzz corpus coverage)
Expand Down Expand Up @@ -2793,7 +2814,9 @@ jobs:
ubuntu-22-04-dpdk-build:
name: Ubuntu 22.04 (DPDK Build)
runs-on: ubuntu-22.04
container: ubuntu:22.04
container:
image: ubuntu:22.04
options: --privileged --cgroupns=host
needs: [ prepare-deps, prepare-cbindgen ]
strategy:
matrix:
Expand All @@ -2819,8 +2842,14 @@ jobs:
autoconf \
automake \
cargo \
ethtool \
git \
hwloc \
inetutils-ping \
iproute2 \
iptables \
podman \
procps \
libhwloc-dev \
jq \
libtool \
Expand Down Expand Up @@ -2882,6 +2911,7 @@ jobs:
name: prep
path: prep
- uses: ./.github/actions/install-cbindgen
- run: tar xf prep/suricata-verify.tar.gz
- run: ./autogen.sh
- run: CFLAGS="${DEFAULT_CFLAGS}" ./configure --enable-warnings --enable-dpdk --enable-hwloc
- run: make -j ${{ env.CPUS }}
Expand All @@ -2894,6 +2924,7 @@ jobs:
./qa/live/dpdk.sh "qa/live/dpdk/suricata-null-ips.yaml"
# DPDK configuration checks
- run: ./qa/live/dpdk/dpdk-testsuite.sh
- run: python3 ./suricata-verify/live/run.py run

debian-12:
name: Debian 12 (xdp)
Expand Down
Loading