mirror of
https://github.com/pavel-odintsov/fastnetmon
synced 2024-11-22 16:32:22 +01:00
workflows,dockerfiles: Add basic build tests (#1011)
Add simple build tests using github workflows. This is initial commit, and i suggest to inspect if all dependencies installed. Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com>
This commit is contained in:
parent
e65727c849
commit
8266f01d50
25
.github/workflows/docker-builds.yml
vendored
Normal file
25
.github/workflows/docker-builds.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
name: Run docker builds
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build_in_docker:
|
||||
strategy:
|
||||
matrix:
|
||||
# gcc-13+,clang-16+ will fail due broken capnp supplied with debian bookworm
|
||||
os: [debian, debian-gcc-12, debian-clang-15, ubuntu-24.04, ubuntu-24.10]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: chdir
|
||||
run: cd $GITHUB_WORKSPACE
|
||||
|
||||
- name: Build Docker image
|
||||
run: docker build -t debian -f tests/Dockerfile.${{ matrix.os }} .
|
17
tests/Dockerfile.debian
Normal file
17
tests/Dockerfile.debian
Normal file
@ -0,0 +1,17 @@
|
||||
FROM debian:bookworm
|
||||
|
||||
# non-interactive
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
# install build dependencies
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends build-essential git ca-certificates cmake libssl-dev\
|
||||
capnproto libcapnp-dev libelf-dev libbpf-dev libpcap-dev libgrpc-dev libgrpc++-dev libprotobuf-dev\
|
||||
protobuf-compiler libprotoc-dev libprotobuf-dev protobuf-compiler-grpc libboost-dev\
|
||||
libboost-serialization-dev libboost-thread-dev libboost-regex-dev libboost-program-options-dev\
|
||||
libmongoc-dev liblog4cpp5-dev libncurses5-dev
|
||||
|
||||
COPY src/ /src/
|
||||
WORKDIR /src
|
||||
RUN mkdir build && cd build && cmake .. -DLINK_WITH_ABSL=ON\
|
||||
&& make -j$(nproc)
|
25
tests/Dockerfile.debian-clang-15
Normal file
25
tests/Dockerfile.debian-clang-15
Normal file
@ -0,0 +1,25 @@
|
||||
FROM debian:bookworm
|
||||
|
||||
# non-interactive
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
# install build dependencies
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends build-essential git ca-certificates cmake libssl-dev\
|
||||
capnproto libcapnp-dev libelf-dev libbpf-dev libpcap-dev libgrpc-dev libgrpc++-dev libprotobuf-dev\
|
||||
protobuf-compiler libprotoc-dev libprotobuf-dev protobuf-compiler-grpc libboost-dev\
|
||||
libboost-serialization-dev libboost-thread-dev libboost-regex-dev libboost-program-options-dev\
|
||||
libmongoc-dev liblog4cpp5-dev libncurses-dev
|
||||
|
||||
# install clang-15
|
||||
RUN apt-get install -y --no-install-recommends clang-15
|
||||
|
||||
# set clang-15 as default compiler
|
||||
RUN update-alternatives --install /usr/bin/cc cc /usr/bin/clang-15 100
|
||||
RUN update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-15 100
|
||||
|
||||
|
||||
COPY src/ /src/
|
||||
WORKDIR /src
|
||||
RUN mkdir build && cd build && cmake .. -DLINK_WITH_ABSL=ON\
|
||||
&& make -j$(nproc)
|
18
tests/Dockerfile.debian-gcc-12
Normal file
18
tests/Dockerfile.debian-gcc-12
Normal file
@ -0,0 +1,18 @@
|
||||
FROM gcc:12-bookworm
|
||||
|
||||
# non-interactive
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
# install build dependencies
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends build-essential git ca-certificates cmake libssl-dev\
|
||||
capnproto libcapnp-dev libelf-dev libbpf-dev libpcap-dev libgrpc-dev libgrpc++-dev libprotobuf-dev\
|
||||
protobuf-compiler libprotoc-dev libprotobuf-dev protobuf-compiler-grpc libboost-dev\
|
||||
libboost-serialization-dev libboost-thread-dev libboost-regex-dev libboost-program-options-dev\
|
||||
libmongoc-dev liblog4cpp5-dev
|
||||
|
||||
|
||||
COPY src/ /src/
|
||||
WORKDIR /src
|
||||
RUN mkdir build && cd build && cmake .. -DLINK_WITH_ABSL=ON\
|
||||
&& make -j$(nproc)
|
20
tests/Dockerfile.ubuntu-24.04
Normal file
20
tests/Dockerfile.ubuntu-24.04
Normal file
@ -0,0 +1,20 @@
|
||||
FROM ubuntu:24.04
|
||||
|
||||
# non-interactive
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
# install build dependencies
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends build-essential git ca-certificates cmake libssl-dev\
|
||||
capnproto libcapnp-dev libelf-dev libbpf-dev libpcap-dev libgrpc-dev libgrpc++-dev libprotobuf-dev\
|
||||
protobuf-compiler libprotoc-dev libprotobuf-dev protobuf-compiler-grpc libboost-dev\
|
||||
libboost-serialization-dev libboost-thread-dev libboost-regex-dev libboost-program-options-dev\
|
||||
libmongoc-dev liblog4cpp5-dev libncurses5-dev
|
||||
|
||||
# absl
|
||||
RUN apt-get install -y --no-install-recommends libabsl-dev
|
||||
|
||||
COPY src/ /src/
|
||||
WORKDIR /src
|
||||
RUN mkdir build && cd build && cmake .. -DLINK_WITH_ABSL=ON\
|
||||
&& make
|
20
tests/Dockerfile.ubuntu-24.10
Normal file
20
tests/Dockerfile.ubuntu-24.10
Normal file
@ -0,0 +1,20 @@
|
||||
FROM ubuntu:24.10
|
||||
|
||||
# non-interactive
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
# install build dependencies
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends build-essential git ca-certificates cmake libssl-dev\
|
||||
capnproto libcapnp-dev libelf-dev libbpf-dev libpcap-dev libgrpc-dev libgrpc++-dev libprotobuf-dev\
|
||||
protobuf-compiler libprotoc-dev libprotobuf-dev protobuf-compiler-grpc libboost-dev\
|
||||
libboost-serialization-dev libboost-thread-dev libboost-regex-dev libboost-program-options-dev\
|
||||
libmongoc-dev liblog4cpp5-dev libncurses5-dev
|
||||
|
||||
# absl
|
||||
RUN apt-get install -y --no-install-recommends libabsl-dev
|
||||
|
||||
COPY src/ /src/
|
||||
WORKDIR /src
|
||||
RUN mkdir build && cd build && cmake .. -DLINK_WITH_ABSL=ON\
|
||||
&& make
|
Loading…
Reference in New Issue
Block a user