Update c-cpp.yml #164
Workflow file for this run
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: Chain Build Tests Demo | |
on: | |
push: | |
branches: [ "porcupine" ] | |
pull_request: | |
branches: [ "porcupine" ] | |
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 porcupine --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: "Run memory leaks tests" | |
run: | | |
valgrind --tool=memcheck --leak-check=full --leak-resolution=high --show-reachable=yes /usr/local/snort | |
valgrind --tool=cachegrind --I1=65535,2,64 --D1=65535,2,64 --L2=65535,2,64 /usr/local/snort |