From 94364544e7d4a9e521425d7195606b65b2501725 Mon Sep 17 00:00:00 2001 From: surtur Date: Fri, 7 May 2021 00:20:54 +0200 Subject: [PATCH] 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.) --- .drone.yml | 68 +++++++++++------------------------------------------- 1 file changed, 13 insertions(+), 55 deletions(-) diff --git a/.drone.yml b/.drone.yml index f0e9daad..5979be7e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -18,9 +18,9 @@ steps: commands: - uname -r; cat /etc/os-release; nproc -- name: pull-fedora:34 +- name: pull-immawanderer/fedora-cpp:linux-amd64 pull: always - image: fedora:34 + image: immawanderer/fedora-cpp:linux-amd64 depends_on: [clone] commands: - uname -r; cat /etc/os-release; nproc @@ -111,7 +111,7 @@ steps: - ldd fastnetmon_api_client - ldd fastnetmon_client when: - status: [success, failure] + status: [success] depends_on: [build fastnetmon] - name: fastnetmon subfolder build @@ -129,8 +129,8 @@ steps: - ldd build/fastnetmon_api_client - ldd build/fastnetmon_client when: - status: [success, failure] - depends_on: [build fastnetmon explicit features] + status: [success] + depends_on: [build fastnetmon] volumes: - name: usrcache @@ -152,45 +152,10 @@ 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 + image: immawanderer/fedora-cpp:linux-amd64 volumes: - - name: etc - path: /etc - name: usrcache path: /usr commands: @@ -202,12 +167,11 @@ steps: - 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] + status: [success] - name: print shared object deps pull: if-not-exists - image: fedora:34 + image: immawanderer/fedora-cpp:linux-amd64 volumes: - name: usrcache path: /usr @@ -219,10 +183,8 @@ steps: - name: build fastnetmon explicit features pull: if-not-exists - image: fedora:34 + image: immawanderer/fedora-cpp:linux-amd64 volumes: - - name: etc - path: /etc - name: usrcache path: /usr commands: @@ -234,15 +196,13 @@ steps: - ldd fastnetmon_api_client - ldd fastnetmon_client when: - status: [success, failure] + status: [success] depends_on: [build fastnetmon] - name: fastnetmon subfolder build pull: if-not-exists - image: fedora:34 + image: immawanderer/fedora-cpp:linux-amd64 volumes: - - name: etc - path: /etc - name: usrcache path: /usr commands: @@ -254,12 +214,10 @@ steps: - ldd build/fastnetmon_api_client - ldd build/fastnetmon_client when: - status: [success, failure] - depends_on: [build fastnetmon explicit features] + status: [success] + depends_on: [build fastnetmon] volumes: - name: usrcache temp: {} -- name: etc - temp: {} ...