1+ name : CMake Install Tests
2+
3+ on :
4+ workflow_dispatch :
5+ push :
6+ branches : [ main ]
7+ pull_request :
8+ branches : [ main ]
9+
10+ jobs :
11+ windows_2022_vcpkg :
12+ name : Windows 2022 vcpkg cxx17 (static libs - dll)
13+ runs-on : windows-2022
14+ env :
15+ CXX_STANDARD : ' 17'
16+ steps :
17+ - uses : actions/checkout@v4
18+ with :
19+ submodules : ' recursive'
20+ - name : Build dependencies with vcpkg submodule
21+ run : |
22+ ./ci/setup_cmake.ps1
23+ ./ci/setup_windows_ci_environment.ps1
24+ - name : Run Tests
25+ run : ./ci/do_ci.ps1 cmake.install.test
26+ - name : Run DLL Tests
27+ run : ./ci/do_ci.ps1 cmake.dll.install.test
28+
29+ windows_2019_vcpkg :
30+ name : Windows 2019 vcpkg cxx14 (static libs)
31+ runs-on : windows-2019
32+ env :
33+ CXX_STANDARD : ' 14'
34+ steps :
35+ - uses : actions/checkout@v4
36+ with :
37+ submodules : ' recursive'
38+ - name : Build dependencies with vcpkg submodule
39+ run : |
40+ ./ci/setup_cmake.ps1
41+ ./ci/setup_windows_ci_environment.ps1
42+ - name : Run Tests
43+ run : ./ci/do_ci.ps1 cmake.install.test
44+
45+ ubuntu_2404_system_packages :
46+ name : Ubuntu 24.04 apt packages cxx17 (static libs - shared libs)
47+ runs-on : ubuntu-24.04
48+ env :
49+ INSTALL_TEST_DIR : ' /home/runner/install_test'
50+ CXX_STANDARD : ' 17'
51+ BUILD_TYPE : ' Debug'
52+ steps :
53+ - uses : actions/checkout@v4
54+ with :
55+ submodules : ' recursive'
56+ - name : Install libcurl, zlib, nlohmann-json with apt
57+ run : |
58+ sudo -E ./ci/setup_ci_environment.sh
59+ sudo -E ./ci/setup_cmake.sh
60+ sudo -E ./ci/setup_googletest.sh
61+ - name : Install abseil, protobuf, and grpc with apt
62+ run : |
63+ sudo -E apt-get update
64+ sudo -E apt-get install -y libabsl-dev libprotobuf-dev libgrpc++-dev protobuf-compiler protobuf-compiler-grpc
65+ - name : Run Tests (static libs)
66+ env :
67+ BUILD_SHARED_LIBS : ' OFF'
68+ run : ./ci/do_ci.sh cmake.install.test
69+ - name : Run Tests (shared libs)
70+ env :
71+ BUILD_SHARED_LIBS : ' ON'
72+ run : ./ci/do_ci.sh cmake.install.test
73+
74+ ubuntu_2404_script_build_grpc_1_71_0 :
75+ name : Ubuntu 24.04 script grpc 1.71.0 cxx17 (static libs)
76+ runs-on : ubuntu-24.04
77+ env :
78+ INSTALL_TEST_DIR : ' /home/runner/install_test'
79+ CXX_STANDARD : ' 20'
80+ BUILD_TYPE : ' Debug'
81+ steps :
82+ - uses : actions/checkout@v4
83+ with :
84+ submodules : ' recursive'
85+ - name : Install gtest, libcurl, zlib, nlohmann-json with apt
86+ run : |
87+ sudo -E ./ci/setup_ci_environment.sh
88+ sudo -E ./ci/setup_cmake.sh
89+ sudo -E ./ci/setup_googletest.sh
90+ - name : Build abseil, protobuf, and grpc with ci scripts
91+ env :
92+ ABSEIL_CPP_VERSION : ' 20240722.1'
93+ PROTOBUF_VERSION : ' 29.0'
94+ GRPC_VERSION : ' v1.71.0'
95+ run : |
96+ sudo -E ./ci/install_abseil.sh
97+ sudo -E ./ci/install_protobuf.sh
98+ sudo -E ./ci/setup_grpc.sh -r $GRPC_VERSION -s $CXX_STANDARD -p protobuf -p abseil-cpp
99+ - name : Run Tests (static libs)
100+ env :
101+ BUILD_SHARED_LIBS : ' OFF'
102+ run : ./ci/do_ci.sh cmake.install.test
103+
104+ ubuntu_2204_script_build_grpc_1_55_0 :
105+ name : Ubuntu 22.04 script grpc 1.55.0 cxx17 (static libs - shared libs)
106+ runs-on : ubuntu-22.04
107+ env :
108+ INSTALL_TEST_DIR : ' /home/runner/install_test'
109+ CXX_STANDARD : ' 17'
110+ BUILD_TYPE : ' Debug'
111+ steps :
112+ - uses : actions/checkout@v4
113+ with :
114+ submodules : ' recursive'
115+ - name : Install gtest, libcurl, zlib, nlohmann-json with apt
116+ run : |
117+ sudo -E ./ci/setup_ci_environment.sh
118+ sudo -E ./ci/setup_cmake.sh
119+ sudo -E ./ci/setup_googletest.sh
120+ - name : Build abseil, protobuf, and grpc with ci scripts
121+ env :
122+ ABSEIL_CPP_VERSION : ' 20230125.3'
123+ PROTOBUF_VERSION : ' 23.3'
124+ GRPC_VERSION : ' v1.55.0'
125+ run : |
126+ sudo -E ./ci/install_abseil.sh
127+ sudo -E ./ci/install_protobuf.sh
128+ sudo -E ./ci/setup_grpc.sh -r $GRPC_VERSION -s $CXX_STANDARD -p protobuf -p abseil-cpp
129+ - name : Run Tests (static libs)
130+ env :
131+ BUILD_SHARED_LIBS : ' OFF'
132+ run : ./ci/do_ci.sh cmake.install.test
133+ - name : Run Tests (shared libs)
134+ env :
135+ BUILD_SHARED_LIBS : ' ON'
136+ run : ./ci/do_ci.sh cmake.install.test
137+
138+ ubuntu_2204_script_build_grpc_1_49_2 :
139+ name : Ubuntu 22.04 script grpc 1.49.2 cxx14 (static libs - shared libs)
140+ runs-on : ubuntu-22.04
141+ env :
142+ INSTALL_TEST_DIR : ' /home/runner/install_test'
143+ CXX_STANDARD : ' 14'
144+ BUILD_TYPE : ' Debug'
145+ steps :
146+ - uses : actions/checkout@v4
147+ with :
148+ submodules : ' recursive'
149+ - name : Install gtest, libcurl, zlib, nlohmann-json with apt
150+ run : |
151+ sudo -E ./ci/setup_ci_environment.sh
152+ sudo -E ./ci/setup_cmake.sh
153+ sudo -E ./ci/setup_googletest.sh
154+ - name : Build abseil, protobuf, and grpc with ci scripts
155+ env :
156+ ABSEIL_CPP_VERSION : ' 20220623.2'
157+ PROTOBUF_VERSION : ' 21.12'
158+ GRPC_VERSION : ' v1.49.2'
159+ run : |
160+ sudo -E ./ci/install_abseil.sh
161+ sudo -E ./ci/install_protobuf.sh
162+ sudo -E ./ci/setup_grpc.sh -r $GRPC_VERSION -s $CXX_STANDARD -p protobuf -p abseil-cpp
163+ - name : Run Tests (static libs)
164+ env :
165+ BUILD_SHARED_LIBS : ' OFF'
166+ run : ./ci/do_ci.sh cmake.install.test
167+ - name : Run Tests (shared libs)
168+ env :
169+ BUILD_SHARED_LIBS : ' ON'
170+ run : ./ci/do_ci.sh cmake.install.test
171+
172+ ubuntu_2404_conan_stable :
173+ name : Ubuntu 24.04 conan stable cxx17 (static libs - shared libs - opentracing shim)
174+ runs-on : ubuntu-24.04
175+ env :
176+ INSTALL_TEST_DIR : ' /home/runner/install_test'
177+ CXX_STANDARD : ' 17'
178+ CMAKE_TOOLCHAIN_FILE : /home/runner/conan/build/Debug/generators/conan_toolchain.cmake
179+ BUILD_TYPE : ' Debug'
180+ steps :
181+ - uses : actions/checkout@v4
182+ with :
183+ submodules : ' recursive'
184+ - name : Install Conan
185+ run : |
186+ python3 -m pip install --upgrade pip
187+ pip install "conan>=2.0,<3"
188+ conan profile detect --force
189+ - name : Install or build all dependencies with Conan
190+ run : |
191+ sudo -E ./ci/setup_cmake.sh
192+ conan install install/conan/conanfile_stable.txt --build=missing -of /home/runner/conan -s build_type=Debug
193+ - name : Run Tests (static libs)
194+ env :
195+ BUILD_SHARED_LIBS : ' OFF'
196+ run : ./ci/do_ci.sh cmake.install.test
197+ - name : Run Tests (shared libs)
198+ env :
199+ BUILD_SHARED_LIBS : ' ON'
200+ run : ./ci/do_ci.sh cmake.install.test
201+ - name : verify pkgconfig packages
202+ run : |
203+ export PKG_CONFIG_PATH=$INSTALL_TEST_DIR/lib/pkgconfig:$PKG_CONFIG_PATH
204+ ./ci/verify_packages.sh
205+ - name : Run OpenTracing Shim Test
206+ run : ./ci/do_ci.sh cmake.opentracing_shim.install.test
207+
208+ ubuntu_2404_conan_latest :
209+ name : Ubuntu 24.04 conan latest cxx17 (static libs)
210+ runs-on : ubuntu-24.04
211+ env :
212+ INSTALL_TEST_DIR : ' /home/runner/install_test'
213+ CXX_STANDARD : ' 17'
214+ CMAKE_TOOLCHAIN_FILE : /home/runner/conan/build/Debug/generators/conan_toolchain.cmake
215+ BUILD_TYPE : ' Debug'
216+ steps :
217+ - uses : actions/checkout@v4
218+ with :
219+ submodules : ' recursive'
220+ - name : Install Conan
221+ run : |
222+ python3 -m pip install --upgrade pip
223+ pip install "conan>=2.0,<3"
224+ conan profile detect --force
225+ - name : Install or build all dependencies with Conan
226+ run : |
227+ sudo -E ./ci/setup_cmake.sh
228+ conan install install/conan/conanfile_latest.txt --build=missing -of /home/runner/conan -s build_type=Debug
229+ - name : Run Tests (static libs)
230+ env :
231+ BUILD_SHARED_LIBS : ' OFF'
232+ run : ./ci/do_ci.sh cmake.install.test
233+ - name : verify pkgconfig packages
234+ run : |
235+ export PKG_CONFIG_PATH=$INSTALL_TEST_DIR/lib/pkgconfig:$PKG_CONFIG_PATH
236+ ./ci/verify_packages.sh
237+
238+ macos_14_conan_stable :
239+ name : macOS 14 conan stable cxx17 (static libs)
240+ runs-on : macos-14
241+ env :
242+ INSTALL_TEST_DIR : ' /Users/runner/install_test'
243+ CXX_STANDARD : ' 17'
244+ CMAKE_TOOLCHAIN_FILE : ' /Users/runner/conan/build/Debug/generators/conan_toolchain.cmake'
245+ BUILD_TYPE : ' Debug'
246+ steps :
247+ - uses : actions/checkout@v4
248+ with :
249+ submodules : ' recursive'
250+ - name : Install Conan and tools
251+ run : |
252+ brew install conan autoconf automake libtool coreutils
253+ sudo -E ./ci/setup_cmake_macos.sh
254+ conan profile detect --force
255+ - name : Install or build all dependencies with Conan
256+ run : conan install install/conan/conanfile_stable.txt --build=missing -of /Users/runner/conan -s build_type=Debug
257+ - name : Run Tests (static libs)
258+ env :
259+ BUILD_SHARED_LIBS : ' OFF'
260+ run : ./ci/do_ci.sh cmake.install.test
261+
262+ macos_14_brew_packages :
263+ name : macOS 14 brew packages cxx17 (static libs)
264+ runs-on : macos-14
265+ env :
266+ CXX_STANDARD : ' 17'
267+ BUILD_TYPE : ' Debug'
268+ steps :
269+ - uses : actions/checkout@v4
270+ with :
271+ submodules : ' recursive'
272+ - name : Install Dependencies with Homebrew
273+ run : |
274+ sudo -E ./ci/setup_cmake_macos.sh
275+ brew install coreutils
276+ brew install googletest
277+ brew install google-benchmark
278+ brew install zlib
279+ brew install abseil
280+ brew install protobuf
281+ brew install grpc
282+ brew install nlohmann-json
283+ brew install prometheus-cpp
284+ - name : Run Tests (static libs)
285+ env :
286+ BUILD_SHARED_LIBS : ' OFF'
287+ run : ./ci/do_ci.sh cmake.install.test
0 commit comments