Skip to content

Commit 89c2acb

Browse files
committed
move cmake install test to a separate gitlab workflow
1 parent 0591dba commit 89c2acb

File tree

2 files changed

+273
-45
lines changed

2 files changed

+273
-45
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -545,37 +545,6 @@ jobs:
545545
sudo ./ci/setup_grpc.sh -T
546546
./ci/do_ci.sh cmake.exporter.otprotocol.shared_libs.with_static_grpc.test
547547
548-
cmake_install_test:
549-
name: CMake install test
550-
runs-on: ubuntu-24.04
551-
env:
552-
INSTALL_TEST_DIR: '/home/runner/install_test'
553-
CXX_STANDARD: '17'
554-
steps:
555-
- uses: actions/checkout@v4
556-
with:
557-
submodules: 'recursive'
558-
- name: setup
559-
run: |
560-
sudo -E ./ci/setup_googletest.sh
561-
sudo -E ./ci/setup_ci_environment.sh
562-
- name: install dependencies
563-
env:
564-
ABSEIL_CPP_VERSION: '20230125.3'
565-
PROTOBUF_VERSION: '23.3'
566-
GRPC_VERSION: 'v1.55.0'
567-
run: |
568-
sudo -E ./ci/install_abseil.sh
569-
sudo -E ./ci/install_protobuf.sh
570-
sudo -E ./ci/setup_grpc.sh -r $GRPC_VERSION -s $CXX_STANDARD -p protobuf -p abseil-cpp
571-
- name: build and test
572-
run: |
573-
./ci/do_ci.sh cmake.install.test
574-
- name: verify packages
575-
run: |
576-
export PKG_CONFIG_PATH=$INSTALL_TEST_DIR/lib/pkgconfig:$PKG_CONFIG_PATH
577-
./ci/verify_packages.sh
578-
579548
plugin_test:
580549
name: Plugin -> CMake
581550
runs-on: ubuntu-latest
@@ -860,8 +829,6 @@ jobs:
860829
run: ./ci/do_ci.ps1 cmake.dll.cxx20.test
861830
- name: run otprotocol test (DLL build)
862831
run: ./ci/do_ci.ps1 cmake.exporter.otprotocol.dll.test
863-
- name: run cmake install test
864-
run: ./ci/do_ci.ps1 cmake.dll.install.test
865832

866833
windows_with_async_export:
867834
name: CMake (With async export) -> exporter proto
@@ -905,18 +872,6 @@ jobs:
905872
- name: run tests
906873
run: ./ci/do_ci.ps1 cmake.test_example_plugin
907874

908-
windows_cmake_install_test:
909-
name: Windows CMake install test
910-
runs-on: windows-latest
911-
steps:
912-
- uses: actions/checkout@v4
913-
with:
914-
submodules: 'recursive'
915-
- name: Setup Windows CI Environment
916-
run: ./ci/setup_windows_ci_environment.ps1
917-
- name: Run Tests
918-
run: ./ci/do_ci.ps1 cmake.install.test
919-
920875
code_coverage:
921876
name: Code coverage
922877
runs-on: ubuntu-22.04
Lines changed: 273 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,273 @@
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

Comments
 (0)