Skip to content

Update c-cpp.yml

Update c-cpp.yml #174

Workflow file for this run

name: Chain Build Tests Demo
on:
push:
branches: [ "porcupin0" ]
pull_request:
branches: [ "porcupin0" ]
jobs:
build-chain:
runs-on: [ubuntu-latest]
steps:
-
name: "Ubuntu update"
run: |
sudo apt update
sudo apt install -y check autopoint flex help2man nodejs libboost-all-dev locate libtool automake autoconf nasm pkgconf valgrind
npm install -g bats
-
name: "PCRE2, Perl-Compatible Regular Expressions"
run: |
git clone --recurse-submodules --branch=pcre2-10.42 --depth=1 https://github.com/PCRE2Project/pcre2.git
cd pcre2 && ./autogen.sh && ./configure && make -j && sudo make install && make clean
-
name: "libpcap, framework for low-level network monitoring"
run: |
git clone --recurse-submodules --branch=libpcap-1.10.4 --depth=1 https://github.com/the-tcpdump-group/libpcap
cd libpcap && ./configure && make -j && sudo make install && make clean
export LD_LIBRARY_PATH=/usr/local/lib && sudo ldconfig
-
name: "Build colm, COmputer Language Machinery"
run: |
git clone https://github.com/adrian-thurston/colm.git
cd colm && ./autogen.sh && ./configure && make && sudo make install
export LD_LIBRARY_PATH=/usr/local/lib && sudo ldconfig
which colm && whereis colm ## && locate colm
-
name: "Build Ragel State Machine Compiler"
run: |
which colm && whereis colm ## && locate colm
git clone https://github.com/adrian-thurston/ragel.git
cd ragel && ./autogen.sh && ./configure --with-colm=/usr/local && make && sudo make install
export LD_LIBRARY_PATH=/usr/local/lib && sudo ldconfig
-
name: "hyperscan, high performance regular expression matching library"
run: |
git clone --recurse-submodules --branch=v5.4.2 --depth=1 https://github.com/intel/hyperscan.git
cd hyperscan && mkdir build && cd build && cmake -Wno-dev -G "Unix Makefiles" .. && sudo make install
export LD_LIBRARY_PATH=/usr/local/lib && sudo ldconfig
-
name: "libDAQ, the Data AcQuisition Library"
run: |
git clone --recurse-submodules --branch=v3.0.12 --depth=1 https://github.com/snort3/libdaq.git
WORKDIR=${{ github.workspace }}/libdaq
cd $WORKDIR && ./bootstrap && ./configure && make -j && sudo make install && make clean
export LD_LIBRARY_PATH=/usr/local/lib && sudo ldconfig
-
name: "libdnet, the interface to several low-level networking routines"
run: |
git clone --recurse-submodules --branch=libdnet-1.16.4 --depth=1 https://github.com/ofalk/libdnet.git
cd libdnet && ./configure && make -j && sudo make install && make clean
export LD_LIBRARY_PATH=/usr/local/lib && sudo ldconfig
-
name: "flex, the fast lexical analyzer generator"
run: |
git clone --recurse-submodules --branch=v2.6.4 --depth=1 https://github.com/westes/flex.git
cd flex && ./autogen.sh && ./configure && make -j check && sudo make install && make clean
export LD_LIBRARY_PATH=/usr/local/lib && sudo ldconfig
-
name: "hwloc, discovering hardware resources in parallel architectures."
run: |
git clone --recurse-submodules --branch=hwloc-2.9.2 --depth=1 https://github.com/open-mpi/hwloc.git
cd hwloc && ./autogen.sh && ./configure && make -j && sudo make install && make clean
export LD_LIBRARY_PATH=/usr/local/lib && sudo ldconfig
-
name: "LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language."
run: |
git clone --recurse-submodules --branch=v2.1.ROLLING --depth=1 https://github.com/LuaJIT/LuaJIT.git
cd LuaJIT && make -j && sudo make install && make clean
export LD_LIBRARY_PATH=/usr/local/lib && sudo ldconfig
-
name: "snort3, the next generation Snort IPS (Intrusion Prevention System)"
run: |
git clone --branch porcupin0 --recurse-submodules --depth=1 https://github.com/chbinousamy/porcinet.git
cd porcinet && ./configure_cmake.sh && cd build && make -j 4 && sudo make install && make clean
sudo ln -s /usr/local/snort/lib/pkgconfig/snort.pc /usr/lib/pkgconfig/snort.pc
export LD_LIBRARY_PATH=/usr/local/lib && sudo ldconfig
-
name: "Snort++ Extras"
run: |
git clone --recurse-submodules --depth=1 https://github.com/chbinousamy/porcinet_extra.git
cd porcinet_extra && ./configure_cmake.sh && cd build && make -j 4 && sudo make install && make clean
export LD_LIBRARY_PATH=/usr/local/lib && sudo ldconfig
-
name: "Run Demo Tests"
run: |
git clone --recurse-submodules --depth=1 https://github.com/chbinousamy/porcinet_demo.git
export LD_LIBRARY_PATH=/usr/local/lib && sudo ldconfig
cd porcinet_demo && ./run_test.sh /usr/local/snort
-
name: "Need euros"
run: |
git clone https://github.com/openfootball/euro
-
name: "Run memory leaks tests"
run: valgrind --tool=memcheck --leak-check=full --leak-resolution=high --show-reachable=yes /usr/local/snort/bin/snort
# -
# name: "Run cache tests"
# run: valgrind --tool=cachegrind --I1=65535,2,64 --D1=65535,2,64 --L2=65535,2,64 /usr/local/snort/bin/snort