CMake/RPM integration #1235
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
schedule: | |
# At the end of every day | |
- cron: '0 0 * * *' | |
push: | |
branches: | |
- main | |
- tmp | |
pull_request: | |
branches: | |
- main | |
types: [opened, synchronize, reopened] | |
release: | |
types: [created] | |
jobs: | |
test: | |
name: ${{ matrix.os }} ${{ matrix.compiler }} | |
runs-on: ${{ matrix.os }} | |
env: | |
CMAKE_C_COMPILER: ${{ matrix.compiler }} | |
CMAKE_C_FLAGS: -Werror ${{ matrix.cflags }} | |
CMAKE_C_EXE_LINKER_FLAGS: ${{ matrix.ldflags }} | |
CMAKE_MODULE_LINKER_FLAGS: ${{ matrix.ldflags }} | |
DYLD_LIBRARY_PATH: /usr/local/lib | |
strategy: | |
fail-fast: true | |
matrix: | |
include: | |
- compiler: "gcc" | |
os: "ubuntu-latest" | |
ndpi_build: "-DBUILD_NDPI=ON" | |
ndpid_examples: "-DBUILD_EXAMPLES=ON" | |
ndpid_gcrypt: "-DNDPI_WITH_GCRYPT=OFF" | |
ndpid_zlib: "-DENABLE_ZLIB=ON" | |
ndpid_extras: "" | |
sanitizer: "-DENABLE_SANITIZER=OFF -DENABLE_SANITIZER_THREAD=OFF" | |
coverage: "-DENABLE_COVERAGE=OFF" | |
poll: "-DFORCE_POLL=OFF" | |
upload: true | |
upload_suffix: "" | |
ndpi_min_version: "4.12" | |
- compiler: "gcc" | |
os: "ubuntu-latest" | |
ndpi_build: "-DBUILD_NDPI=ON" | |
ndpid_examples: "-DBUILD_EXAMPLES=ON" | |
ndpid_gcrypt: "-DNDPI_WITH_GCRYPT=ON" | |
ndpid_zlib: "-DENABLE_ZLIB=ON" | |
ndpid_extras: "-DNDPI_WITH_MAXMINDDB=ON -DNDPI_WITH_PCRE=ON -DENABLE_MEMORY_PROFILING=ON" | |
sanitizer: "-DENABLE_SANITIZER=OFF -DENABLE_SANITIZER_THREAD=OFF" | |
coverage: "-DENABLE_COVERAGE=OFF" | |
poll: "-DFORCE_POLL=OFF" | |
upload: true | |
upload_suffix: "-host-gcrypt" | |
ndpi_min_version: "4.12" | |
- compiler: "clang" | |
os: "ubuntu-latest" | |
ndpi_build: "-DBUILD_NDPI=ON" | |
ndpid_examples: "-DBUILD_EXAMPLES=ON" | |
ndpid_gcrypt: "-DNDPI_WITH_GCRYPT=OFF" | |
ndpid_zlib: "-DENABLE_ZLIB=OFF" | |
ndpid_extras: "" | |
sanitizer: "-DENABLE_SANITIZER=OFF -DENABLE_SANITIZER_THREAD=OFF" | |
coverage: "-DENABLE_COVERAGE=OFF" | |
poll: "-DFORCE_POLL=OFF" | |
upload: true | |
upload_suffix: "-no-zlib" | |
ndpi_min_version: "4.12" | |
- compiler: "gcc" | |
os: "ubuntu-latest" | |
ndpi_build: "-DBUILD_NDPI=ON" | |
ndpid_examples: "-DBUILD_EXAMPLES=ON" | |
ndpid_gcrypt: "-DNDPI_WITH_GCRYPT=OFF" | |
ndpid_zlib: "-DENABLE_ZLIB=ON" | |
ndpid_extras: "" | |
sanitizer: "-DENABLE_SANITIZER=ON" | |
coverage: "-DENABLE_COVERAGE=ON" | |
poll: "-DFORCE_POLL=ON" | |
upload: false | |
ndpi_min_version: "4.12" | |
- compiler: "clang" | |
os: "ubuntu-latest" | |
ndpi_build: "-DBUILD_NDPI=ON" | |
ndpid_examples: "-DBUILD_EXAMPLES=ON" | |
ndpid_gcrypt: "-DNDPI_WITH_GCRYPT=OFF" | |
ndpid_zlib: "-DENABLE_ZLIB=ON" | |
ndpid_extras: "" | |
sanitizer: "-DENABLE_SANITIZER=ON" | |
coverage: "-DENABLE_COVERAGE=OFF" | |
poll: "-DFORCE_POLL=OFF" | |
upload: false | |
ndpi_min_version: "4.12" | |
- compiler: "clang-12" | |
os: "ubuntu-latest" | |
ndpi_build: "-DBUILD_NDPI=ON" | |
ndpid_examples: "-DBUILD_EXAMPLES=ON" | |
ndpid_gcrypt: "-DNDPI_WITH_GCRYPT=OFF" | |
ndpid_zlib: "-DENABLE_ZLIB=ON" | |
ndpid_extras: "" | |
sanitizer: "-DENABLE_SANITIZER_THREAD=ON" | |
coverage: "-DENABLE_COVERAGE=OFF" | |
poll: | |
upload: false | |
ndpi_min_version: "4.12" | |
- compiler: "gcc-10" | |
os: "ubuntu-20.04" | |
ndpi_build: "-DBUILD_NDPI=ON" | |
ndpid_examples: "-DBUILD_EXAMPLES=ON" | |
ndpid_gcrypt: "-DNDPI_WITH_GCRYPT=OFF" | |
ndpid_zlib: "-DENABLE_ZLIB=OFF" | |
ndpid_extras: "" | |
sanitizer: "-DENABLE_SANITIZER=ON" | |
coverage: "-DENABLE_COVERAGE=OFF" | |
poll: "-DFORCE_POLL=ON" | |
upload: false | |
ndpi_min_version: "4.12" | |
- compiler: "gcc-7" | |
os: "ubuntu-20.04" | |
ndpi_build: "-DBUILD_NDPI=ON" | |
ndpid_examples: "-DBUILD_EXAMPLES=ON" | |
ndpid_gcrypt: "-DNDPI_WITH_GCRYPT=OFF" | |
ndpid_zlib: "-DENABLE_ZLIB=ON" | |
ndpid_extras: "" | |
sanitizer: "-DENABLE_SANITIZER=ON" | |
coverage: "-DENABLE_COVERAGE=OFF" | |
poll: "-DFORCE_POLL=OFF" | |
upload: false | |
ndpi_min_version: "4.12" | |
- compiler: "cc" | |
os: "macOS-13" | |
ndpi_build: "-DBUILD_NDPI=OFF" | |
ndpid_examples: "-DBUILD_EXAMPLES=OFF" | |
ndpid_gcrypt: "-DNDPI_WITH_GCRYPT=OFF" | |
ndpid_zlib: "-DENABLE_ZLIB=ON" | |
ndpid_extras: "" | |
examples: "-DBUILD_EXAMPLES=OFF" | |
sanitizer: "-DENABLE_SANITIZER=OFF" | |
coverage: "-DENABLE_COVERAGE=OFF" | |
poll: | |
upload: false | |
ndpi_min_version: "4.12" | |
steps: | |
- name: Print Matrix | |
run: | | |
echo '----------------------------------------' | |
echo '| OS.......: ${{ matrix.os }}' | |
echo '| CC.......: ${{ matrix.compiler }}' | |
echo "| CFLAGS...: $CMAKE_C_FLAGS" | |
echo "| LDFLAGS..: $CMAKE_C_EXE_LINKER_FLAGS" | |
echo '|---------------------------------------' | |
echo '| nDPI min.: ${{ matrix.ndpi_min_version }}' | |
echo '| GCRYPT...: ${{ matrix.ndpid_gcrypt }}' | |
echo '| ZLIB.....: ${{ matrix.ndpid_zlib }}' | |
echo '| Extras...: ${{ matrix.ndpid_extras }}' | |
echo '| ForcePoll: ${{ matrix.poll }}' | |
echo '|---------------------------------------' | |
echo '| SANITIZER: ${{ matrix.sanitizer }}' | |
echo '| COVERAGE.: ${{ matrix.coverage }}' | |
echo '|---------------------------------------' | |
echo '| UPLOAD...: ${{ matrix.upload }}' | |
echo '----------------------------------------' | |
- uses: actions/checkout@v4 | |
with: | |
submodules: false | |
fetch-depth: 1 | |
- name: Install MacOS Prerequisites | |
if: startsWith(matrix.os, 'macOS') | |
run: | | |
brew install coreutils flock automake make unzip cmake pkg-config git wget | |
wget 'https://www.tcpdump.org/release/libpcap-1.10.4.tar.gz' | |
tar -xzvf libpcap-1.10.4.tar.gz | |
cd libpcap-1.10.4 | |
./configure && make install | |
cd .. | |
wget 'https://github.com/ntop/nDPI/archive/refs/heads/dev.zip' -O libndpi-dev.zip | |
unzip libndpi-dev.zip | |
cd nDPI-dev | |
./autogen.sh --prefix=/usr/local --with-only-libndpi && make install | |
- name: Fix kernel mmap rnd bits on Ubuntu | |
if: startsWith(matrix.os, 'ubuntu') | |
run: | | |
# Workaround for compatinility between latest kernel and sanitizer | |
# See https://github.com/actions/runner-images/issues/9491 | |
sudo sysctl vm.mmap_rnd_bits=28 | |
- name: Install Ubuntu Prerequisites | |
if: startsWith(matrix.os, 'ubuntu') | |
run: | | |
sudo apt-get update | |
sudo apt-get install autoconf automake cmake libtool pkg-config gettext libjson-c-dev flex bison libpcap-dev zlib1g-dev libcurl4-openssl-dev libdbus-1-dev | |
sudo apt-get install ${{ matrix.compiler }} lcov iproute2 | |
- name: Install Ubuntu Prerequisites (libgcrypt) | |
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.ndpid_gcrypt, '-DNDPI_WITH_GCRYPT=ON') | |
run: | | |
sudo apt-get install libgcrypt20-dev | |
- name: Install Ubuntu Prerequisites (zlib) | |
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.ndpid_zlib, '-DENABLE_ZLIB=ON') | |
run: | | |
sudo apt-get install zlib1g-dev | |
- name: Install Ubuntu Prerequisites (libmaxminddb, libpcre2) | |
if: startsWith(matrix.ndpid_extras, '-D') | |
run: | | |
sudo apt-get install libmaxminddb-dev libpcre2-dev | |
- name: Checking Network Buffer Size | |
run: | | |
C_VAL=$(cat config.h | sed -n 's/^#define\s\+NETWORK_BUFFER_MAX_SIZE\s\+\([0-9]\+\).*$/\1/gp') | |
PY_VAL=$(cat dependencies/nDPIsrvd.py | sed -n 's/^NETWORK_BUFFER_MAX_SIZE = \([0-9]\+\).*$/\1/gp') | |
test ${C_VAL} = ${PY_VAL} | |
- name: Configure nDPId | |
run: | | |
cmake -S . -B build -DCMAKE_C_COMPILER="$CMAKE_C_COMPILER" -DCMAKE_C_FLAGS="$CMAKE_C_FLAGS" -DCMAKE_MODULE_LINKER_FLAGS="$CMAKE_MODULE_LINKER_FLAGS" -DCMAKE_C_EXE_LINKER_FLAGS="$CMAKE_C_EXE_LINKER_FLAGS" \ | |
-DENABLE_DBUS=ON -DENABLE_CURL=ON -DENABLE_SYSTEMD=ON \ | |
${{ matrix.poll }} ${{ matrix.coverage }} ${{ matrix.sanitizer }} ${{ matrix.ndpi_build }} \ | |
${{ matrix.ndpid_examples }} ${{ matrix.ndpid_zlib }} ${{ matrix.ndpid_gcrypt }} ${{ matrix.ndpid_extras }} | |
- name: Build nDPId | |
run: | | |
cmake --build build --verbose | |
- name: Build single nDPId/nDPIsrvd executables (invoke CC directly - dynamic nDPI lib) | |
if: startsWith(matrix.ndpi_build, '-DBUILD_NDPI=OFF') && startsWith(matrix.coverage, '-DENABLE_COVERAGE=OFF') && startsWith(matrix.ndpid_gcrypt, '-DNDPI_WITH_GCRYPT=OFF') | |
run: | | |
pkg-config --cflags --libs libndpi | |
cc -Wall -Wextra -std=gnu99 \ | |
${{ matrix.poll }} -DENABLE_MEMORY_PROFILING=1 \ | |
nDPId.c nio.c utils.c \ | |
$(pkg-config --cflags libndpi) -I. -I./dependencies -I./dependencies/jsmn -I./dependencies/uthash/include \ | |
-o /tmp/a.out \ | |
-lpcap $(pkg-config --libs libndpi) -pthread -lm | |
cc -Wall -Wextra -std=gnu99 \ | |
${{ matrix.poll }} -DENABLE_MEMORY_PROFILING=1 \ | |
nDPIsrvd.c nio.c utils.c \ | |
-I. -I./dependencies -I./dependencies/jsmn -I./dependencies/uthash/include \ | |
-o /tmp/a.out | |
- name: Build single nDPId/nDPIsrvd executables (invoke CC directly - static nDPI lib) | |
if: endsWith(matrix.compiler, 'gcc-7') == false && startsWith(matrix.ndpi_build, '-DBUILD_NDPI=ON') && startsWith(matrix.coverage, '-DENABLE_COVERAGE=OFF') && startsWith(matrix.sanitizer, '-DENABLE_SANITIZER=ON') && startsWith(matrix.ndpid_gcrypt, '-DNDPI_WITH_GCRYPT=OFF') && startsWith(matrix.ndpid_zlib, '-DENABLE_ZLIB=ON') | |
run: | | |
cc -Wall -Wextra -std=gnu99 ${{ matrix.poll }} -DENABLE_ZLIB=1 -DENABLE_MEMORY_PROFILING=1 \ | |
-fsanitize=address -fsanitize=undefined -fno-sanitize=alignment -fsanitize=enum -fsanitize=leak \ | |
nDPId.c nio.c utils.c \ | |
-I./build/libnDPI/include/ndpi -I. -I./dependencies -I./dependencies/jsmn -I./dependencies/uthash/include \ | |
-o /tmp/a.out \ | |
-lpcap ./build/libnDPI/lib/libndpi.a -pthread -lm -lz | |
- name: Test EXEC | |
run: | | |
./build/nDPId-test | |
./build/nDPId -h || test $? -eq 1 | |
./build/nDPIsrvd -h || test $? -eq 1 | |
- name: Test DIFF | |
if: startsWith(matrix.os, 'macOS') == false && startsWith(matrix.ndpid_gcrypt, '-DNDPI_WITH_GCRYPT=OFF') | |
run: | | |
./test/run_tests.sh ./libnDPI ./build/nDPId-test | |
./test/run_config_tests.sh ./libnDPI ./build/nDPId-test | |
- name: Daemon | |
if: startsWith(matrix.compiler, 'gcc') || endsWith(matrix.compiler, 'clang') | |
run: | | |
make -C ./build daemon VERBOSE=1 | |
make -C ./build daemon VERBOSE=1 | |
- name: Coverage | |
if: startsWith(matrix.coverage, '-DENABLE_COVERAGE=ON') | |
run: | | |
make -C ./build coverage | |
- name: Dist | |
if: startsWith(matrix.os, 'macOS') == false && matrix.upload == false | |
run: | | |
make -C ./build dist | |
- name: CPack DEB | |
if: startsWith(matrix.os, 'macOS') == false | |
run: | | |
cd ./build && cpack -G DEB && \ | |
sudo dpkg -i nDPId-*.deb && \ | |
sudo apt purge ndpid && \ | |
sudo dpkg -i nDPId-*.deb && cd .. | |
- name: Upload DEB | |
if: startsWith(matrix.os, 'macOS') == false && matrix.upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: nDPId-debian-packages_${{ matrix.compiler }}${{ matrix.upload_suffix }} | |
path: build/*.deb | |
- name: Test systemd | |
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.compiler, 'gcc') | |
run: | | |
ip -c address | |
sudo systemctl daemon-reload | |
sudo systemctl enable ndpid@lo | |
sudo systemctl start ndpid@lo | |
SYSTEMCTL_RET=3; while (( $SYSTEMCTL_RET == 3 )); do systemctl is-active [email protected]; SYSTEMCTL_RET=$?; sleep 1; done | |
sudo systemctl status ndpisrvd.service [email protected] | |
sudo systemctl show ndpisrvd.service [email protected] -p SubState,ActiveState | |
sudo dpkg -i ./build/nDPId-*.deb | |
sudo systemctl status ndpisrvd.service [email protected] | |
sudo systemctl show ndpisrvd.service [email protected] -p SubState,ActiveState | |
sudo systemctl stop ndpisrvd.service | |
journalctl --no-tail --no-pager -u ndpisrvd.service -u [email protected] | |
- name: Build PF_RING and nDPId (invoke CC directly - dynamic nDPI lib) | |
if: endsWith(matrix.compiler, 'gcc-7') == false && startsWith(matrix.ndpi_build, '-DBUILD_NDPI=ON') && startsWith(matrix.coverage, '-DENABLE_COVERAGE=OFF') && startsWith(matrix.sanitizer, '-DENABLE_SANITIZER=ON') && startsWith(matrix.ndpid_gcrypt, '-DNDPI_WITH_GCRYPT=OFF') && startsWith(matrix.ndpid_zlib, '-DENABLE_ZLIB=ON') | |
run: | | |
git clone --depth=1 https://github.com/ntop/PF_RING.git | |
cd PF_RING && make all && sudo make install prefix=/usr | |
cd .. | |
cc -Wall -Wextra -std=gnu99 ${{ matrix.poll }} -DENABLE_PFRING=1 -DENABLE_ZLIB=1 -DENABLE_MEMORY_PROFILING=1 \ | |
-fsanitize=address -fsanitize=undefined -fno-sanitize=alignment -fsanitize=enum -fsanitize=leak \ | |
nDPId.c npfring.c nio.c utils.c \ | |
-I. -I./dependencies -I./dependencies/jsmn -I./dependencies/uthash/include \ | |
-I./build/libnDPI/include/ndpi \ | |
-I./PF_RING/userland/lib -I./PF_RING/kernel \ | |
-o /tmp/a.out \ | |
-ldl ./PF_RING/userland/lib/libpfring.a -lpcap ./build/libnDPI/lib/libndpi.a -pthread -lm -lz | |
- name: Build against libnDPI-${{ matrix.ndpi_min_version }} | |
if: startsWith(matrix.os, 'ubuntu') | |
run: | | |
mkdir build-local-ndpi && cd build-local-ndpi | |
WGET_RET=0 | |
wget 'https://github.com/ntop/nDPI/archive/refs/tags/${{ matrix.ndpi_min_version }}.tar.gz' || { WGET_RET=$?; true; } | |
echo "wget returned: ${WGET_RET}" | |
test $WGET_RET -ne 8 && { \ | |
tar -xzvf ${{ matrix.ndpi_min_version }}.tar.gz; } | |
test $WGET_RET -ne 8 || { \ | |
echo "::warning file=nDPId.c::New libnDPI release required to build against release tarball, falling back to dev branch."; \ | |
wget 'http://github.com/ntop/nDPI/archive/refs/heads/dev.tar.gz'; \ | |
WGET_RET=$?; \ | |
tar -xzvf dev.tar.gz; \ | |
mv -v 'nDPI-dev' 'nDPI-${{ matrix.ndpi_min_version }}'; } | |
test $WGET_RET -ne 0 || { cd nDPI-${{ matrix.ndpi_min_version }}; \ | |
NDPI_CONFIGURE_ARGS=''; \ | |
test 'x${{ matrix.ndpid_gcrypt }}' != 'x-DNDPI_WITH_GCRYPT=ON' || NDPI_CONFIGURE_ARGS="$NDPI_CONFIGURE_ARGS --with-local-libgcrypt"; \ | |
test 'x${{ matrix.sanitizer }}' != 'x-DENABLE_SANITIZER=ON' || NDPI_CONFIGURE_ARGS="$NDPI_CONFIGURE_ARGS --with-sanitizer"; \ | |
echo "Configure arguments: '$NDPI_CONFIGURE_ARGS'" | |
./autogen.sh --prefix=/usr --with-only-libndpi $NDPI_CONFIGURE_ARGS CC="${{ matrix.compiler }}" CXX=false \ | |
CFLAGS="$CMAKE_C_FLAGS" && make && sudo make install; cd ..; } | |
cd .. | |
test $WGET_RET -ne 0 || { echo "Running CMake.. (pkgconfig)"; \ | |
cmake -S . -B ./build-local-pkgconfig \ | |
-DCMAKE_C_COMPILER="$CMAKE_C_COMPILER" -DCMAKE_C_FLAGS="$CMAKE_C_FLAGS" \ | |
-DCMAKE_C_EXE_LINKER_FLAGS="$CMAKE_C_EXE_LINKER_FLAGS" \ | |
-DBUILD_NDPI=OFF -DBUILD_EXAMPLES=ON \ | |
-DENABLE_DBUS=ON -DENABLE_CURL=ON -DENABLE_SYSTEMD=ON \ | |
${{ matrix.poll }} ${{ matrix.coverage }} \ | |
${{ matrix.sanitizer }} ${{ matrix.ndpid_examples }}; } | |
test $WGET_RET -ne 0 || { echo "Running Make.. (pkgconfig)"; \ | |
cmake --build ./build-local-pkgconfig --verbose; } | |
test $WGET_RET -ne 0 || { echo "Testing Executable.. (pkgconfig)"; \ | |
./build-local-pkgconfig/nDPId-test; \ | |
./build-local-pkgconfig/nDPId -h || test $? -eq 1; \ | |
./build-local-pkgconfig/nDPIsrvd -h || test $? -eq 1; } | |
test $WGET_RET -ne 0 || { echo "Running CMake.. (static)"; \ | |
cmake -S . -B ./build-local-static \ | |
-DCMAKE_C_COMPILER="$CMAKE_C_COMPILER" -DCMAKE_C_FLAGS="$CMAKE_C_FLAGS" \ | |
-DCMAKE_C_EXE_LINKER_FLAGS="$CMAKE_C_EXE_LINKER_FLAGS" \ | |
-DBUILD_NDPI=OFF -DBUILD_EXAMPLES=ON \ | |
-DENABLE_DBUS=ON -DENABLE_CURL=ON -DENABLE_SYSTEMD=ON \ | |
-DNDPI_NO_PKGCONFIG=ON -DSTATIC_LIBNDPI_INSTALLDIR=/usr \ | |
${{ matrix.poll }} ${{ matrix.coverage }} ${{ matrix.ndpid_gcrypt }} \ | |
${{ matrix.sanitizer }} ${{ matrix.ndpid_examples }}; } | |
test $WGET_RET -ne 0 || { echo "Running Make.. (static)"; \ | |
cmake --build ./build-local-static --verbose; } | |
test $WGET_RET -ne 0 || { echo "Testing Executable.. (static)"; \ | |
./build-local-static/nDPId-test; \ | |
./build-local-static/nDPId -h || test $? -eq 1; \ | |
./build-local-static/nDPIsrvd -h || test $? -eq 1; } | |
test $WGET_RET -ne 0 || test ! -d ./PF_RING || { echo "Running CMake.. (PF_RING)"; \ | |
cmake -S . -B ./build-local-pfring \ | |
-DCMAKE_C_COMPILER="$CMAKE_C_COMPILER" -DCMAKE_C_FLAGS="$CMAKE_C_FLAGS" \ | |
-DCMAKE_C_EXE_LINKER_FLAGS="$CMAKE_C_EXE_LINKER_FLAGS" \ | |
-DBUILD_NDPI=OFF -DBUILD_EXAMPLES=ON -DENABLE_PFRING=ON \ | |
-DENABLE_DBUS=ON -DENABLE_CURL=ON -DENABLE_SYSTEMD=ON \ | |
-DNDPI_NO_PKGCONFIG=ON -DSTATIC_LIBNDPI_INSTALLDIR=/usr \ | |
-DPFRING_LINK_STATIC=OFF \ | |
-DPFRING_INSTALLDIR=/usr -DPFRING_KERNEL_INC="$(realpath ./PF_RING/kernel)" \ | |
${{ matrix.poll }} ${{ matrix.coverage }} ${{ matrix.ndpid_gcrypt }} \ | |
${{ matrix.sanitizer }} ${{ matrix.ndpid_examples }}; } | |
test $WGET_RET -ne 0 || test ! -d ./PF_RING || { echo "Running Make.. (PF_RING)"; \ | |
cmake --build ./build-local-pfring --verbose; } | |
test $WGET_RET -ne 0 || test ! -d ./PF_RING || { echo "Testing Executable.. (PF_RING)"; \ | |
./build-local-pfring/nDPId-test; \ | |
./build-local-pfring/nDPId -h || test $? -eq 1; \ | |
./build-local-pfring/nDPIsrvd -h || test $? -eq 1; } | |
test $WGET_RET -eq 0 -o $WGET_RET -eq 8 |