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