From 22c1dc44390f057480b0b21f42f0b4a39067bdef Mon Sep 17 00:00:00 2001 From: Volodymyr Kolesnykov Date: Sat, 21 Sep 2024 02:32:41 +0300 Subject: [PATCH] ci: add Dockerfile for CI --- .dockerignore | 8 ++++++++ Dockerfile | 24 ++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..81ec915 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +* +!.clang-format +!.clang-tidy +!cmake +!CMakeLists.txt +!include +!src +!test diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ccf9b6c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +FROM alpine:3.20.3 + +RUN apk add --no-cache clang18 cmake git gtest-dev make + +ENV CXX=clang++-18 +ENV CC=clang-18 + +WORKDIR /build + +ENV OPENTELEMETRY_CPP_VERSION=v1.16.1 +RUN \ + git clone https://github.com/open-telemetry/opentelemetry-cpp.git \ + --depth=1 -b "${OPENTELEMETRY_CPP_VERSION}" --single-branch && \ + cd opentelemetry-cpp && \ + cmake \ + -B build \ + -DWITH_DEPRECATED_SDK_FACTORY=OFF -DWITH_NO_DEPRECATED_CODE=ON -DWITH_OTLP_HTTP=OFF \ + -DBUILD_TESTING=OFF -DWITH_BENCHMARK=OFF -DWITH_FUNC_TESTS=OFF -DWITH_EXAMPLES=OFF && \ + cmake --build build -j "$(nproc)" && \ + cmake --install build + +WORKDIR /build/opentelemetry_exporter_syslog_logs +COPY . . +RUN cmake -B build && cmake --build build && cmake --install build && ctest --test-dir build