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