fastnetmon-ng/.drone.yml
surtur 95f1f21be3
All checks were successful
continuous-integration/drone/push Build is passing
ci: print shared object deps for all FNM stuff
2021-04-17 01:11:00 +02:00

213 lines
4.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: 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]
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: apply-patch
pull: if-not-exists
image: fedora:34
volumes:
- name: etc
path: /etc
- name: usrcache
path: /usr
commands:
- cd /drone/src
- git apply src/patches/cmake-libndpi-nolibicu-cpp17-includes-protoc-grpc.patch
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, apply-patch]
- 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]
volumes:
- name: usrcache
temp: {}
- name: etc
temp: {}
...