cbindgen \
ccache \
clang \
+ coccinelle \
diffutils \
file-devel \
gcc \
nss-softokn-devel \
pcre2-devel \
pkgconfig \
+ python \
python3-yaml \
sudo \
systemd-devel \
- 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: 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"
- name: Running suricata-verify
run: python3 ./suricata-verify/run.py -q
- ubuntu-22-04:
- name: Ubuntu 22.04 (Cocci)
- runs-on: ubuntu-22.04
- container: ubuntu:22.04
- needs: [prepare-deps, prepare-cbindgen]
- steps:
-
- # Cache Rust stuff.
- - name: Cache cargo registry
- uses: actions/cache@v3.3.1
- with:
- path: ~/.cargo
- key: ${{ github.job }}-cargo
-
- - 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 \
- libpython3.10 \
- make \
- parallel \
- python3-yaml \
- python-is-python3 \
- rustc \
- software-properties-common \
- zlib1g \
- zlib1g-dev \
- exuberant-ctags
- - name: Install packages for generating documentation
- run: |
- DEBIAN_FRONTEND=noninteractive apt -y install \
- sphinx-doc \
- sphinx-common \
- texlive-latex-base \
- texlive-fonts-recommended \
- texlive-fonts-extra \
- texlive-latex-extra
- - name: Install Coccinelle
- run: |
- apt -y install coccinelle
- - uses: actions/checkout@v3.5.3
- - 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-unittests --enable-coccinelle
- - run: make -j2
- - run: make tags
- - name: Running unit tests and cocci checks
- # Set the concurrency level for cocci.
- run: CONCURRENCY_LEVEL=2 make check
- - run: make dist
- - name: Checking that documentation was built
- run: |
- test -e doc/userguide/userguide.pdf
- test -e doc/userguide/suricata.1
- - name: Extracting suricata-verify
- run: tar xf prep/suricata-verify.tar.gz
- - name: Running suricata-verify
- run: python3 ./suricata-verify/run.py -q
-
# test build with afl and fuzztargets
ubuntu-22-04-fuzz:
name: Ubuntu 22.04 (Fuzz)