Skip to content

CMake Install Tests #23

CMake Install Tests

CMake Install Tests #23

Workflow file for this run

name: CMake Install Tests
on:
workflow_dispatch:
jobs:
windows_2022_vcpkg:
name: Windows 2022 vcpkg (cxx17, static libs only)
runs-on: windows-2022
env:
CXX_STANDARD: '17'
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Build dependencies with vcpkg submodule
run: ./ci/setup_windows_ci_environment.ps1
- name: Run Tests
run: ./ci/do_ci.ps1 cmake.install.test
windows_2022_vcpkg_dll:
name: Windows 2022 vcpkg (cxx17, dll build)
runs-on: windows-2022
env:
CXX_STANDARD: '17'
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Build dependencies with vcpkg submodule
run: ./ci/setup_windows_ci_environment.ps1
- name: Run Tests
run: ./ci/do_ci.ps1 cmake.dll.install.test
windows_2019_vcpkg:
name: Windows 2019 vcpkg (cxx14, static libs only)
runs-on: windows-2019
env:
CXX_STANDARD: '14'
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Build dependencies with vcpkg submodule
run: ./ci/setup_windows_ci_environment.ps1
- name: Run Tests
run: ./ci/do_ci.ps1 cmake.install.test
ubuntu_2404_src_grpc_1_71_0:
name: Ubuntu 24.04 grpc 1.71.0 src (cxx17, static libs only)
runs-on: ubuntu-24.04
env:
INSTALL_TEST_DIR: '/home/runner/install_test'
CXX_STANDARD: '20'
BUILD_TYPE: 'Debug'
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install gtest, libcurl, zlib, nlohmann-json with apt
run: |
sudo -E ./ci/setup_googletest.sh
sudo -E ./ci/setup_ci_environment.sh
- name: Build abseil, protobuf, and grpc with ci scripts
env:
ABSEIL_CPP_VERSION: '20240722.1'
PROTOBUF_VERSION: '29.0'
GRPC_VERSION: 'v1.71.0'
run: |
sudo -E ./ci/install_abseil.sh
sudo -E ./ci/install_protobuf.sh
sudo -E ./ci/setup_grpc.sh -r $GRPC_VERSION -s $CXX_STANDARD -p protobuf -p abseil-cpp
- name: Run Tests (static libs)
env:
BUILD_SHARED_LIBS: 'OFF'
run: ./ci/do_ci.sh cmake.install.test
# Building with shared libs fails when linking the example_otlp_grpc target
# See https://github.com/dbarker/opentelemetry-cpp/actions/runs/14023790373/job/39259166344#step:6:973
# - name: Run Tests (shared libs)
# env:
# BUILD_SHARED_LIBS: 'ON'
# run: ./ci/do_ci.sh cmake.install.test
ubuntu_2404_system_packages:
name: Ubuntu 24.04 with apt packages (cxx17, static and shared libs)
runs-on: ubuntu-24.04
env:
INSTALL_TEST_DIR: '/home/runner/install_test'
CXX_STANDARD: '17'
BUILD_TYPE: 'Debug'
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install libcurl, zlib, nlohmann-json with apt
run: |
sudo -E ./ci/setup_googletest.sh
sudo -E ./ci/setup_ci_environment.sh
- name: Build abseil, protobuf, and grpc with apt
run: |
sudo -E apt-get update
sudo -E apt-get install -y libabsl-dev libprotobuf-dev libgrpc++-dev protobuf-compiler protobuf-compiler-grpc
- name: Run Tests (static libs)
env:
BUILD_SHARED_LIBS: 'OFF'
run: ./ci/do_ci.sh cmake.install.test
- name: Run Tests (shared libs)
env:
BUILD_SHARED_LIBS: 'ON'
run: ./ci/do_ci.sh cmake.install.test
ubuntu_2204_src_grpc_1_55_0:
name: Ubuntu 22.04 grpc 1.55.0 src (cxx17, static and shared libs)
runs-on: ubuntu-22.04
env:
INSTALL_TEST_DIR: '/home/runner/install_test'
CXX_STANDARD: '17'
BUILD_TYPE: 'Debug'
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install gtest, libcurl, zlib, nlohmann-json with apt
run: |
sudo -E ./ci/setup_googletest.sh
sudo -E ./ci/setup_ci_environment.sh
- name: Build abseil, protobuf, and grpc with ci scripts
env:
ABSEIL_CPP_VERSION: '20230125.3'
PROTOBUF_VERSION: '23.3'
GRPC_VERSION: 'v1.55.0'
run: |
sudo -E ./ci/install_abseil.sh
sudo -E ./ci/install_protobuf.sh
sudo -E ./ci/setup_grpc.sh -r $GRPC_VERSION -s $CXX_STANDARD -p protobuf -p abseil-cpp
- name: Run Tests (static libs)
env:
BUILD_SHARED_LIBS: 'OFF'
run: ./ci/do_ci.sh cmake.install.test
- name: Run Tests (shared libs)
env:
BUILD_SHARED_LIBS: 'ON'
run: ./ci/do_ci.sh cmake.install.test
ubuntu_2004_src_grpc_1_49_2:
name: Ubuntu 20.04 grpc 1.49.2 src (cxx14, static and shared libs)
runs-on: ubuntu-20.04
env:
INSTALL_TEST_DIR: '/home/runner/install_test'
CXX_STANDARD: '14'
BUILD_TYPE: 'Debug'
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install gtest, libcurl, zlib, nlohmann-json with apt
run: |
sudo -E ./ci/setup_googletest.sh
sudo -E ./ci/setup_ci_environment.sh
- name: Build abseil, protobuf, and grpc with ci scripts
env:
ABSEIL_CPP_VERSION: '20220623.2'
PROTOBUF_VERSION: '21.12'
GRPC_VERSION: 'v1.49.2'
run: |
sudo -E ./ci/install_abseil.sh
sudo -E ./ci/install_protobuf.sh
sudo -E ./ci/setup_grpc.sh -r $GRPC_VERSION -s $CXX_STANDARD -p protobuf -p abseil-cpp
- name: Run Tests (static libs)
env:
BUILD_SHARED_LIBS: 'OFF'
run: ./ci/do_ci.sh cmake.install.test
- name: Run Tests (shared libs)
env:
BUILD_SHARED_LIBS: 'ON'
run: ./ci/do_ci.sh cmake.install.test
ubuntu_2404_conan_stable:
name: Ubuntu 24.04 conanfile_stable (cxx17, static and shared libs)
runs-on: ubuntu-24.04
env:
INSTALL_TEST_DIR: '/home/runner/install_test'
CXX_STANDARD: '17'
CMAKE_TOOLCHAIN_FILE: /home/runner/conan/build/Debug/generators/conan_toolchain.cmake
BUILD_TYPE: 'Debug'
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install Conan
run: |
python3 -m pip install --upgrade pip
pip install conan
conan profile detect --force
- name: Install or build all dependencies with Conan
run: conan install install/conan/conanfile_stable.txt --build=missing -of /home/runner/conan -s build_type=Debug
- name: Run Tests (static libs)
env:
BUILD_SHARED_LIBS: 'OFF'
run: ./ci/do_ci.sh cmake.install.test
- name: Run Tests (shared libs)
env:
BUILD_SHARED_LIBS: 'ON'
run: ./ci/do_ci.sh cmake.install.test
macos_14_brew_packages:
name: macOS 14 with brew packages (cxx17, static libs only)
runs-on: macos-14
env:
CXX_STANDARD: '17'
BUILD_TYPE: 'Debug'
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install Dependencies with Homebrew
run: |
brew install cmake
brew install coreutils
brew install wget
brew install googletest
brew install google-benchmark
brew install curl
brew install zlib
brew install abseil
brew install protobuf
brew install grpc
brew install nlohmann-json
brew install prometheus-cpp
- name: Run Tests (static libs)
env:
BUILD_SHARED_LIBS: 'OFF'
run: ./ci/do_ci.sh cmake.install.test
# Building with shared libs fails in tests of the otlp http and otlp file modules
# See https://github.com/dbarker/opentelemetry-cpp/actions/runs/14023790373/job/39259166342#step:5:2878
# - name: Run Tests (shared libs)
# env:
# BUILD_SHARED_LIBS: 'ON'
# run: ./ci/do_ci.sh cmake.install.test