fastnetmon-ng/.drone.yml
surtur dd3dd4201d
All checks were successful
continuous-integration/drone/push Build is passing
ci: bring custom cpp image with deps installed
2021-05-06 19:23:18 +02:00

247 lines
6.3 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-immawanderer/fedora-cpp:linux-amd64
pull: always
image: immawanderer/fedora-cpp:linux-amd64
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: apply-patch
pull: if-not-exists
image: immawanderer/archlinux-cdev:latest
volumes:
- name: usrcache
path: /usr
commands:
- git apply src/patches/cmake-libndpi-nolibicu-cpp17-includes-protoc-grpc.patch
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, apply-patch]
- 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)"
- mkdir -pv src/build && cd src/build
- 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.. -B.
- ls -lah
- make clean fastnetmon all
- ldd fastnetmon
- ldd fastnetmon_api_client
- ldd 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: apply-patch
pull: always
image: immawanderer/fedora-cpp:linux-amd64
volumes:
- name: usrcache
path: /usr
commands:
- cd /drone/src
- git apply src/patches/cmake-libndpi-nolibicu-cpp17-includes-protoc-grpc.patch
- name: build fastnetmon
pull: if-not-exists
image: immawanderer/fedora-cpp:linux-amd64
volumes:
- 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]
depends_on: [apply-patch]
- name: print shared object deps
pull: if-not-exists
image: immawanderer/fedora-cpp:linux-amd64
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/fedora-cpp:linux-amd64
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" --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: immawanderer/fedora-cpp:linux-amd64
volumes:
- name: usrcache
path: /usr
commands:
- export MAKEFLAGS="$MAKEFLAGS -j$(nproc)"
- mkdir -pv src/build && cd src/build
- 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 -S .. -B.
- ls -lah
- make clean fastnetmon all
- ldd fastnetmon
- ldd fastnetmon_api_client
- ldd fastnetmon_client
when:
status: [success, failure]
depends_on: [build fastnetmon]
volumes:
- name: usrcache
temp: {}
...