CMake Install Tests #22
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |