- run: suricata-update -V
- run: suricatasc -h
- fedora-38-sv-codecov:
- name: Fedora 38 (Suricata Verify codecov)
+ fedora-39-sv-codecov:
+ name: Fedora 39 (Suricata Verify codecov)
runs-on: ubuntu-latest
- container: fedora:38
+ container: fedora:39
needs: [prepare-deps, prepare-cbindgen]
steps:
key: ${{ github.job }}-dnf
- run: echo "keepcache=1" >> /etc/dnf/dnf.conf
+ - name: Determine number of CPUs
+ run: echo CPUS=$(nproc --all) >> $GITHUB_ENV
+
- run: |
dnf -y install \
autoconf \
CC: "clang"
RUSTFLAGS: "-C instrument-coverage"
CFLAGS: "-fprofile-instr-generate -fcoverage-mapping -O0"
- - run: make -j2
+ - run: make -j ${{ env.CPUS }}
env:
CC: "clang"
RUSTFLAGS: "-C instrument-coverage"
fail_ci_if_error: false
flags: suricata-verify
- # Fedora 38 build using Clang.
- fedora-38-clang:
- name: Fedora 38 (clang, debug, asan, wshadow, rust-strict, systemd)
+ # Fedora 39 build using Clang.
+ fedora-39-clang:
+ name: Fedora 39 (clang, debug, asan, wshadow, rust-strict, systemd)
runs-on: ubuntu-latest
- container: fedora:38
+ container: fedora:39
needs: [prepare-deps, prepare-cbindgen]
steps:
key: ${{ github.job }}-dnf
- run: echo "keepcache=1" >> /etc/dnf/dnf.conf
+ - name: Determine number of CPUs
+ run: echo CPUS=$(nproc --all) >> $GITHUB_ENV
+
- run: |
dnf -y install \
autoconf \
cbindgen \
ccache \
clang \
- coccinelle \
diffutils \
file-devel \
gcc \
- run: tar xf prep/libhtp.tar.gz
- run: tar xf prep/suricata-update.tar.gz
- run: ./autogen.sh
- - run: CC="clang" CFLAGS="$DEFAULT_CFLAGS -Wshadow" ./configure --disable-shared --enable-coccinelle
- - name: Running unit tests and cocci checks
- # Set the concurrency level for cocci.
- run: CONCURRENCY_LEVEL=2 make check
+ - run: CC="clang" CFLAGS="$DEFAULT_CFLAGS -Wshadow" ./configure --disable-shared
+ - run: make check
- run: make distclean
- run: CC="clang" CFLAGS="$DEFAULT_CFLAGS -Wshadow -fsanitize=address -fno-omit-frame-pointer" ./configure --enable-debug --enable-unittests --disable-shared --enable-rust-strict --enable-hiredis --enable-nfqueue --enable-lua
env:
LDFLAGS: "-fsanitize=address"
ac_cv_func_realloc_0_nonnull: "yes"
ac_cv_func_malloc_0_nonnull: "yes"
- - run: make -j2
+ - run: make -j ${{ env.CPUS }}
- run: ASAN_OPTIONS="detect_leaks=0" ./src/suricata -u -l .
- name: Extracting suricata-verify
run: tar xf prep/suricata-verify.tar.gz
# Check compilation against systemd
- run: ldd src/suricata | grep libsystemd &> /dev/null
- # Fedora 38 build using GCC.
- fedora-38-gcc:
- name: Fedora 38 (gcc, debug, asan, wshadow, rust-strict)
+ # Fedora 39 build using GCC.
+ fedora-39-gcc:
+ name: Fedora 39 (gcc, debug, asan, wshadow, rust-strict)
runs-on: ubuntu-latest
- container: fedora:38
+ container: fedora:39
needs: [prepare-deps, prepare-cbindgen]
steps:
path: ~/.cargo/registry
key: cargo-registry
+ - name: Determine number of CPUs
+ run: echo CPUS=$(nproc --all) >> $GITHUB_ENV
+
- run: |
dnf -y install \
autoconf \
LDFLAGS: "-fsanitize=address"
ac_cv_func_realloc_0_nonnull: "yes"
ac_cv_func_malloc_0_nonnull: "yes"
- - run: make -j2
+ - run: make -j ${{ env.CPUS }}
- run: ASAN_OPTIONS="detect_leaks=0" ./src/suricata -u -l .
- name: Extracting suricata-verify
run: tar xf prep/suricata-verify.tar.gz
- run: suricata-update -V
- run: suricatasc -h
- # Fedora 39 build using Clang.
- fedora-39-clang:
- name: Fedora 39 (clang, debug, asan, wshadow, rust-strict, systemd)
+ # Fedora 40 build using Clang.
+ fedora-40-clang:
+ name: Fedora 40 (clang, debug, asan, wshadow, rust-strict, systemd)
runs-on: ubuntu-latest
- container: fedora:39
+ container: fedora:40
needs: [prepare-deps, prepare-cbindgen]
steps:
key: ${{ github.job }}-dnf
- run: echo "keepcache=1" >> /etc/dnf/dnf.conf
+ - name: Determine number of CPUs
+ run: echo CPUS=$(nproc --all) >> $GITHUB_ENV
+
- run: |
dnf -y install \
autoconf \
LDFLAGS: "-fsanitize=address"
ac_cv_func_realloc_0_nonnull: "yes"
ac_cv_func_malloc_0_nonnull: "yes"
- - run: make -j2
+ - run: make -j ${{ env.CPUS }}
- run: ASAN_OPTIONS="detect_leaks=0" ./src/suricata -u -l .
- name: Extracting suricata-verify
run: tar xf prep/suricata-verify.tar.gz
# Check compilation against systemd
- run: ldd src/suricata | grep libsystemd &> /dev/null
- # Fedora 39 build using GCC.
- fedora-39-gcc:
- name: Fedora 39 (gcc, debug, asan, wshadow, rust-strict)
+ # Fedora 40 build using GCC.
+ fedora-40-gcc:
+ name: Fedora 40 (gcc, debug, asan, wshadow, rust-strict)
runs-on: ubuntu-latest
- container: fedora:39
+ container: fedora:40
needs: [prepare-deps, prepare-cbindgen]
steps:
path: ~/.cargo/registry
key: cargo-registry
+ - name: Determine number of CPUs
+ run: echo CPUS=$(nproc --all) >> $GITHUB_ENV
+
- run: |
dnf -y install \
autoconf \
LDFLAGS: "-fsanitize=address"
ac_cv_func_realloc_0_nonnull: "yes"
ac_cv_func_malloc_0_nonnull: "yes"
- - run: make -j2
+ - run: make -j ${{ env.CPUS }}
- run: ASAN_OPTIONS="detect_leaks=0" ./src/suricata -u -l .
- name: Extracting suricata-verify
run: tar xf prep/suricata-verify.tar.gz
# This job builds and tests Suricata as a non-root user as some
# issues only show up when not running as root, and by default all
# jobs in GitHub actions are run as root inside the container.
- fedora-39-non-root:
- name: Fedora 39 (non-root, debug, clang, asan, wshadow, rust-strict, systemd)
+ fedora-40-non-root:
+ name: Fedora 40 (non-root, debug, clang, asan, wshadow, rust-strict)
runs-on: ubuntu-latest
- container: fedora:39
+ container: fedora:40
needs: [prepare-deps, prepare-cbindgen]
steps:
+ - name: Determine number of CPUs
+ run: echo CPUS=$(nproc --all) >> $GITHUB_ENV
+
- run: |
dnf -y install \
autoconf \
CC: "clang"
CFLAGS: "${{ env.DEFAULT_CFLAGS }} -Wshadow -fsanitize=address -fno-omit-frame-pointer"
- - run: sudo -u suricata -s env PATH="/home/suricata/.cargo/bin:$PATH" make -j2
+ - run: sudo -u suricata -s env PATH="/home/suricata/.cargo/bin:$PATH" make -j ${{ env.CPUS }}
working-directory: /home/suricata/suricata
- run: sudo -u suricata -s make check