Skip to content

Commit

Permalink
[CI] Add CI for instrumentation/spdlog (#429)
Browse files Browse the repository at this point in the history
  • Loading branch information
marcalff authored Apr 16, 2024
1 parent 9d64d9d commit 6102ea9
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 3 deletions.
85 changes: 85 additions & 0 deletions .github/workflows/spdlog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: spdlog

on:
push:
branches:
- '*'
path:
- 'instrumentation/spdlog/**'
- '.github/workflows/spdlog.yml'
pull_request:
branches: [main]
paths:
- 'instrumentation/spdlog/**'
- '.github/workflows/spdlog.yml'

jobs:
cmake_linux:
name: CMake Linux
runs-on: ubuntu-latest
steps:
- name: checkout googletest
uses: actions/checkout@v3
with:
repository: "google/googletest"
ref: "release-1.12.1"
path: "googletest"
- name: checkout opentelemetry-cpp-contrib
uses: actions/checkout@v3
with:
path: opentelemetry-cpp-contrib
- name: checkout opentelemetry-cpp
uses: actions/checkout@v3
with:
repository: "open-telemetry/opentelemetry-cpp"
ref: "v1.14.2"
path: "opentelemetry-cpp"
submodules: "recursive"
- name: setup dependencies
run: |
sudo apt update -y
sudo apt install -y --no-install-recommends --no-install-suggests \
build-essential \
cmake \
ninja-build \
libssl-dev \
libcurl4-openssl-dev \
libprotobuf-dev \
protobuf-compiler \
libgmock-dev \
libgtest-dev \
libbenchmark-dev \
libspdlog-dev
# This is needed because libgmock-dev libgtest-dev installs 1.11,
# and 1.11 breaks the build.
- name: build googletest 1.12
run: |
mkdir -p "${GITHUB_WORKSPACE}/googletest/build"
cd "${GITHUB_WORKSPACE}/googletest/build"
cmake .. -G Ninja
cmake --build . -j$(nproc)
cmake --install . --prefix="${GITHUB_WORKSPACE}/sandbox"
- name: build opentelemetry-cpp
run: |
mkdir -p "${GITHUB_WORKSPACE}/opentelemetry-cpp/build"
cd "${GITHUB_WORKSPACE}/opentelemetry-cpp/build"
cmake .. -G Ninja -DBUILD_TESTING=OFF -DWITH_BENCHMARK=OFF -DOPENTELEMETRY_INSTALL=ON
cmake --build . -j$(nproc)
cmake --install . --prefix="${GITHUB_WORKSPACE}/sandbox"
- name: build instrumentation/spdlog contrib
run: |
mkdir -p "${GITHUB_WORKSPACE}/instrumentation-spdlog/build"
cd "${GITHUB_WORKSPACE}/instrumentation-spdlog/build"
cmake ../../opentelemetry-cpp-contrib/instrumentation/spdlog \
-G Ninja \
-DCMAKE_PREFIX_PATH="${GITHUB_WORKSPACE}/sandbox" \
-DBUILD_TESTING=ON \
-DWITH_EXAMPLES=ON \
-DOPENTELEMETRY_INSTALL=ON
cmake --build . -j$(nproc)
ctest -j1 --output-on-failure
cmake --install . --prefix="${GITHUB_WORKSPACE}/sandbox"
10 changes: 7 additions & 3 deletions instrumentation/spdlog/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,10 @@ if(OPENTELEMETRY_INSTALL)
endif() # OPENTELEMETRY_INSTALL

if(BUILD_TESTING)
find_package(GTest 1.12 REQUIRED)

enable_testing()

set(testname sink_test)

include(GoogleTest)
Expand All @@ -81,9 +85,9 @@ if(BUILD_TESTING)
)

target_link_libraries(${testname} PRIVATE
gmock
gtest
gtest_main
GTest::gmock
GTest::gtest
GTest::gtest_main
spdlog::spdlog
opentelemetry-cpp::ostream_log_record_exporter
${this_target}
Expand Down

0 comments on commit 6102ea9

Please sign in to comment.