fastnetmon-ng/.drone.yml
surtur f088faa94b
All checks were successful
continuous-integration/drone/push Build is passing
ci: add 'fastnetmon subfolder build' step
build in 'build' subfolder and run ldd on artifacts
* fix most obvious insufficiencies in fastnetmon_tests.cpp to allow us
  to build again
2021-05-06 23:35:11 +02:00

266 lines
6.9 KiB
YAML

---
kind: pipeline
type: docker
name: pull
platform:
os: linux
arch: amd64
trigger:
event: [push, pull_request]
steps:
- name: pull-archlinux-cdev:latest
pull: always
image: immawanderer/archlinux-cdev:latest
depends_on: [clone]
commands:
- uname -r; cat /etc/os-release; nproc
- name: pull-fedora:34
pull: always
image: fedora:34
depends_on: [clone]
commands:
- uname -r; cat /etc/os-release; nproc
---
kind: pipeline
type: docker
name: testing-ng archlinux
platform:
os: linux
arch: amd64
depends_on:
- pull
trigger:
event: [push, pull_request]
steps:
- name: deps
pull: if-not-exists
image: immawanderer/archlinux-cdev:latest
volumes:
- name: usrcache
path: /usr
commands:
- printf "$SHELL\n"
- printf "$PATH\n"
- pacman -Sy grpc protobuf-c python-protobuf grpc-cli cppunit log4cpp json-c capnproto hiredis mongo-c-driver boost boost-libs libtool which autoconf automake pkgconf gcc-libs git --needed
- name: build-install nDPI
pull: if-not-exists
image: immawanderer/archlinux-cdev:latest
volumes:
- name: usrcache
path: /usr
commands:
- export MAKEFLAGS="$MAKEFLAGS -j$(nproc)" && printf "$MAKEFLAGS\n"
- git clone https://github.com/ntop/nDPI.git /drone/nDPI
- cd /drone/nDPI
- git checkout 1.7
- ./autogen.sh
- ./configure
- make
- make install
depends_on: [deps]
- name: build fastnetmon
pull: if-not-exists
image: immawanderer/archlinux-cdev:latest
volumes:
- name: usrcache
path: /usr
commands:
- export MAKEFLAGS="$MAKEFLAGS -j$(nproc)"
- cd src
- cmake -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -Wall -Werror -Wextra -Wno-reorder -Wno-unused-variable -Wno-unused-parameter -Wno-sign-compare -Wno-unused-but-set-variable -Wno-format-truncation -Wno-implicit-fallthrough -Wno-type-limits -Wno-class-memaccess -Wno-stringop-truncation" .
- make clean fastnetmon all
when:
status: [success, failure]
depends_on: [build-install nDPI]
- name: print shared object deps
pull: if-not-exists
image: immawanderer/archlinux-cdev:latest
volumes:
- name: usrcache
path: /usr
commands:
- ldd src/fastnetmon
- ldd src/fastnetmon_api_client
- ldd src/fastnetmon_client
depends_on: [build fastnetmon]
- name: build fastnetmon explicit features
pull: if-not-exists
image: immawanderer/archlinux-cdev:latest
volumes:
- name: usrcache
path: /usr
commands:
- export MAKEFLAGS="$MAKEFLAGS -j$(nproc)"
- cd src
- cmake -D"USE_NEW_ATOMIC_BUILTINS=ON" -D"ENABLE_AFPACKET_SUPPORT=ON" -D"ENABLE_GOBGP_SUPPORT=ON" -D"BUILD_PLUGIN_RUNNER=ON" -D"BUILD_TESTS=OFF" -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -Wall -Wextra" .
- make clean fastnetmon all
- ldd fastnetmon
- ldd fastnetmon_api_client
- ldd fastnetmon_client
when:
status: [success, failure]
depends_on: [build fastnetmon]
- name: fastnetmon subfolder build
pull: if-not-exists
image: immawanderer/archlinux-cdev:latest
volumes:
- name: usrcache
path: /usr
commands:
- export MAKEFLAGS="$MAKEFLAGS -j$(nproc)"
- cd src
- cmake -D"USE_NEW_ATOMIC_BUILTINS=ON" -D"ENABLE_AFPACKET_SUPPORT=ON" -D"ENABLE_GOBGP_SUPPORT=ON" -D"BUILD_PLUGIN_RUNNER=ON" -D"BUILD_TESTS=OFF" -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -Wall -Wextra" -S. -Bbuild
- cmake --build build --target all fastnetmon
- ldd build/fastnetmon
- ldd build/fastnetmon_api_client
- ldd build/fastnetmon_client
when:
status: [success, failure]
depends_on: [build fastnetmon explicit features]
volumes:
- name: usrcache
temp: {}
---
kind: pipeline
type: docker
name: testing-ng fedora34
platform:
os: linux
arch: amd64
depends_on:
- pull
trigger:
event: [push, pull_request]
steps:
- name: deps
pull: if-not-exists
image: fedora:34
volumes:
- name: etc
path: /etc
- name: usrcache
path: /usr
commands:
- printf "$SHELL\n"
- printf "$PATH\n"
- dnf install -y git make {c,auto}make autoconf lld binutils gcc gcc-c++ libgcc libstdc++-{devel,static} glibc-devel openmpi-devel bison flex grpc-{cli,cpp,devel,plugins} protobuf-c-{devel,compiler} protobuf-compiler cppunit log4cpp-devel json-c-devel capnproto-{devel,libs} libpcap-devel hiredis-devel mongo-c-driver-{devel,libs} boost-{devel,atomic,chrono,date-time,system,program-options,regex,thread} libtool libtool-ltdl which pkgconf openssl-devel kernel-devel ncurses-{c++-libs,devel,libs,static}
- dnf clean all -y
- name: build-install nDPI
pull: if-not-exists
image: fedora:34
volumes:
- name: etc
path: /etc
- name: usrcache
path: /usr
commands:
- export MAKEFLAGS="$MAKEFLAGS -j$(nproc)" && printf "$MAKEFLAGS\n"
- git clone https://github.com/ntop/nDPI.git /usr/src/nDPI
- cd /usr/src/nDPI
- git checkout 1.7
- ./autogen.sh
- ./configure
- make
- make install
depends_on: [deps]
- name: build fastnetmon
pull: if-not-exists
image: fedora:34
volumes:
- name: etc
path: /etc
- name: usrcache
path: /usr
commands:
- ld --version
- gcc --version
- cmake --version
- export MAKEFLAGS="$MAKEFLAGS -j$(nproc)"
- cd src
- cmake -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -Wall -Werror -Wextra -Wno-reorder -Wno-unused-variable -Wno-unused-parameter -Wno-sign-compare -Wno-unused-but-set-variable -Wno-format-truncation -Wno-implicit-fallthrough -Wno-type-limits -Wno-class-memaccess -Wno-stringop-truncation" .
- make clean fastnetmon all
when:
status: [success, failure]
depends_on: [build-install nDPI]
- name: print shared object deps
pull: if-not-exists
image: fedora:34
volumes:
- name: usrcache
path: /usr
commands:
- ldd src/fastnetmon
- ldd src/fastnetmon_api_client
- ldd src/fastnetmon_client
depends_on: [build fastnetmon]
- name: build fastnetmon explicit features
pull: if-not-exists
image: fedora:34
volumes:
- name: etc
path: /etc
- name: usrcache
path: /usr
commands:
- export MAKEFLAGS="$MAKEFLAGS -j$(nproc)"
- cd src
- cmake -D"USE_NEW_ATOMIC_BUILTINS=ON" -D"ENABLE_AFPACKET_SUPPORT=ON" -D"ENABLE_GOBGP_SUPPORT=ON" -D"BUILD_PLUGIN_RUNNER=ON" -D"BUILD_TESTS=OFF" -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -Wall -Wextra" --clean-first .
- make clean fastnetmon all
- ldd fastnetmon
- ldd fastnetmon_api_client
- ldd fastnetmon_client
when:
status: [success, failure]
depends_on: [build fastnetmon]
- name: fastnetmon subfolder build
pull: if-not-exists
image: fedora:34
volumes:
- name: etc
path: /etc
- name: usrcache
path: /usr
commands:
- export MAKEFLAGS="$MAKEFLAGS -j$(nproc)"
- cd src
- cmake -D"USE_NEW_ATOMIC_BUILTINS=ON" -D"ENABLE_AFPACKET_SUPPORT=ON" -D"ENABLE_GOBGP_SUPPORT=ON" -D"BUILD_PLUGIN_RUNNER=ON" -D"BUILD_TESTS=OFF" -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -Wall -Wextra" -S. -Bbuild
- cmake --build build --target all fastnetmon --clean-first
- ldd build/fastnetmon
- ldd build/fastnetmon_api_client
- ldd build/fastnetmon_client
when:
status: [success, failure]
depends_on: [build fastnetmon explicit features]
volumes:
- name: usrcache
temp: {}
- name: etc
temp: {}
...