dpdk: add Github action to build Suricata with all available (LTS) DPDK versions

pull/8430/head
Lukas Sismis 2 years ago committed by Victor Julien
parent 79130103c2
commit 1c8205e6b1

@ -1586,6 +1586,104 @@ jobs:
- run: AFL_HARDEN=1 ac_cv_func_realloc_0_nonnull=yes ac_cv_func_malloc_0_nonnull=yes CFLAGS="-fsanitize=address -fno-omit-frame-pointer" CXXFLAGS=$CFLAGS CC=afl-clang-fast CXX=afl-clang-fast++ LDFLAGS="-fsanitize=address" ./configure --enable-fuzztargets --disable-shared
- run: AFL_HARDEN=1 make -j2
ubuntu-22-04-dpdk-build:
name: Ubuntu 22.04 (DPDK Build)
runs-on: ubuntu-22.04
container: ubuntu:22.04
needs: [ prepare-deps, prepare-cbindgen ]
strategy:
matrix:
dpdk_version: [ 22.11.1, 21.11.3, 20.11.7, 19.11.14 ]
steps:
# Cache Rust stuff.
- name: Cache cargo registry
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7
with:
path: ~/.cargo/registry
key: cargo-registry
- name: Install dependencies
run: |
apt update
apt -y install \
libpcre2-dev \
build-essential \
autoconf \
automake \
cargo \
git \
jq \
libtool \
libpcap-dev \
libnet1-dev \
libyaml-0-2 \
libyaml-dev \
libcap-ng-dev \
libcap-ng0 \
libmagic-dev \
libnetfilter-queue-dev \
libnetfilter-queue1 \
libnfnetlink-dev \
libnfnetlink0 \
libhiredis-dev \
libjansson-dev \
libevent-dev \
libevent-pthreads-2.1-7 \
libjansson-dev \
libpython2.7 \
make \
parallel \
python3-yaml \
rustc \
software-properties-common \
zlib1g \
zlib1g-dev \
exuberant-ctags
- name: Install DPDK dependencies
run: |
apt update
apt install -y \
curl \
build-essential \
libnuma-dev \
ninja-build \
meson \
python3-pip \
python3-pyelftools \
python3-setuptools \
python3-wheel
- name: Compile and install DPDK
run: |
cd $HOME
rm -rf dpdk_${{ matrix.dpdk_version }}
find /usr/ -name 'librte_*.a' -delete
mkdir -p dpdk_${{ matrix.dpdk_version }} && cd dpdk_${{ matrix.dpdk_version }}
curl -fsLS https://fast.dpdk.org/rel/dpdk-${{ matrix.dpdk_version }}.tar.xz | tar -xJ --strip-components=1
rm -rf build/
meson setup -Dtests=false --prefix=/usr/ build
ninja -C build
ninja -C build install
ldconfig
cd $HOME
- uses: actions/checkout@v3.3.0
- uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a
with:
name: prep
path: prep
- run: tar xf prep/libhtp.tar.gz
- name: Setup cbindgen
run: |
mkdir -p $HOME/.cargo/bin
cp prep/cbindgen $HOME/.cargo/bin
chmod 755 $HOME/.cargo/bin/cbindgen
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- run: ./autogen.sh
- run: CFLAGS="${DEFAULT_CFLAGS}" ./configure --enable-dpdk
- run: make -j2
- run: make check
debian-10:
name: Debian 10
runs-on: ubuntu-latest

Loading…
Cancel
Save