fastnetmon-ng/.drone.yml
surtur 94364544e7
Some checks failed
continuous-integration/drone/push Build is failing
ci: bring custom cpp image with deps installed
use immawanderer/fedora-cpp with:
* c/cpp dev stuff
* ndpi already compiled and preinstalled (including header files)

consequently, we don't have to use the etc vol.
also, make two final build steps (in each of the build pipelines) run in
parallel, since now they don't access each other's resources (subfolder
magic et al.)
2021-05-07 01:05:05 +02:00

224 lines
5.7 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: 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]
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]
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: 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]
- 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]
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)"
- 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]
depends_on: [build fastnetmon]
volumes:
- name: usrcache
temp: {}
...