mirror of https://github.com/OISF/suricata
github-ci: add windows build with suricata-verify
Initial attempt with a few hacks: - npcap dlls are extracted from the installer and placed in cwd - cbindgen is installed system wide desipte a preinstalled copy This does not yet hook into the "prep" build from build.yaml or support using custom support PRs/branches (SV, SU).pull/5533/head
parent
4e1f151fc3
commit
606750f2a0
@ -0,0 +1,52 @@
|
||||
name: Windows
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: MINGW64
|
||||
update: true
|
||||
install: git mingw-w64-x86_64-toolchain automake1.16 automake-wrapper autoconf libtool libyaml-devel pcre-devel jansson-devel make mingw-w64-x86_64-libyaml mingw-w64-x86_64-pcre mingw-w64-x86_64-rust mingw-w64-x86_64-jansson mingw-w64-x86_64-nss mingw-w64-x86_64-nspr unzip p7zip python-setuptools mingw-w64-x86_64-python-yaml mingw-w64-x86_64-jq
|
||||
# hack: install our own cbindgen system wide as we can't get the
|
||||
# preinstalled one to be picked up by configure
|
||||
- name: cbindgen
|
||||
run: cargo install --root /usr --force --debug --version 0.14.1 cbindgen
|
||||
- name: Npcap DLL
|
||||
run: |
|
||||
curl -s -O https://nmap.org/npcap/dist/npcap-1.00.exe
|
||||
7z -y x -o/npcap-bin npcap-1.00.exe
|
||||
# hack: place dlls in cwd
|
||||
cp /npcap-bin/*.dll .
|
||||
- name: Npcap SDK
|
||||
run: |
|
||||
curl -s -O https://nmap.org/npcap/dist/npcap-sdk-1.06.zip
|
||||
unzip npcap-sdk-1.06.zip -d /npcap
|
||||
cp /npcap/Lib/x64/* /usr/lib/
|
||||
- name: libhtp
|
||||
run: git clone https://github.com/OISF/libhtp -b 0.5.x
|
||||
- name: Suricata-Update
|
||||
run: |
|
||||
mv suricata-update suricata-update.old
|
||||
git clone https://github.com/OISF/suricata-update
|
||||
# make sure to place the makefiles back
|
||||
cp suricata-update.old/* suricata-update/
|
||||
- name: Suricata-Verify
|
||||
run: git clone https://github.com/OISF/suricata-verify
|
||||
- name: Build
|
||||
run: |
|
||||
./autogen.sh
|
||||
CFLAGS="-ggdb -Werror" ./configure --enable-unittests --enable-gccprotect --disable-gccmarch-native --disable-shared --with-libpcap-includes=/npcap/Include --with-libpcap-libraries=/npcap/Lib/x64
|
||||
make -j3
|
||||
- name: Run
|
||||
run: |
|
||||
./src/suricata --build-info
|
||||
./src/suricata -u -l /tmp/
|
||||
# need cwd in path due to npcap dlls (see above)
|
||||
PATH="$PATH:$(pwd)" python3 ./suricata-verify/run.py
|
Loading…
Reference in New Issue