30
30
-DHEXL_HINT_DIR=${GITHUB_WORKSPACE}/lib/cmake/hexl-${HEXL_VER}
31
31
COVERAGE_COMPILER_FLAGS : >
32
32
-DCMAKE_BUILD_TYPE=Debug
33
- -DCMAKE_CXX_COMPILER=g++-9
34
- -DCMAKE_C_COMPILER=gcc-9
33
+ -DCMAKE_CXX_COMPILER=g++-11
34
+ -DCMAKE_C_COMPILER=gcc-11
35
35
-DHEXL_BENCHMARK=ON
36
36
-DHEXL_TESTING=ON
37
37
-DHEXL_COVERAGE=ON
42
42
jobs :
43
43
format :
44
44
name : Format
45
- runs-on : ubuntu-20 .04
45
+ runs-on : ubuntu-22 .04
46
46
steps :
47
47
- uses : actions/checkout@v2
48
48
# Required for pre-commit
60
60
shell : bash
61
61
strategy :
62
62
matrix :
63
+ # removed platforms not available on github hosted servers.
64
+ # sel-fhosted ice-lake servers not enabled by sysadmin
63
65
# os: [ice-lake, [self-hosted, ubuntu-18.04], macos-latest, ubuntu-20.04]
64
- os : [ice-lake, macos-latest, ubuntu-20.04]
66
+ # os: [macos-latest, ubuntu-20.04]
67
+ os : [macos-latest, ubuntu-22.04]
65
68
build_type : [Release, Debug]
66
69
shared_lib : [ON, OFF]
67
70
include :
83
86
run : |
84
87
set -x
85
88
if [ "$RUNNER_OS" == "Linux" ]; then
86
- export CC=clang-10
87
- export CXX=clang++-10
89
+ export CC=clang-14
90
+ export CXX=clang++-14
88
91
fi
89
92
90
93
# Print information useful for debugging
@@ -177,101 +180,6 @@ jobs:
177
180
178
181
# TODO: add pkgconfig and vcpkg examples
179
182
180
-
181
-
182
- ubuntu-1804-build :
183
- name : ' ${{ matrix.os }} ${{ matrix.build_type }} shared=${{ matrix.shared_lib }}'
184
- runs-on : ' ${{ matrix.os }}'
185
- defaults :
186
- run :
187
- shell : bash
188
- strategy :
189
- matrix :
190
- os : [ubuntu-18.04]
191
- build_type : [Release, Debug]
192
- shared_lib : [ON, OFF]
193
- include :
194
- # Run benchmarks quickly in Debug mode
195
- - build_type : Debug
196
- benchmark_min_time : " --benchmark_min_time=0.001"
197
- - build_type : Release
198
- benchmark_min_time : " "
199
- exclude : # Skip debug on Mac. TODO: add Debug mode
200
- - os : macos-latest
201
- build_type : Debug
202
- steps :
203
- - uses : actions/checkout@v2
204
- - name : Setup cmake
205
-
206
- with :
207
- cmake-version : ' 3.13.x'
208
- - name : Default build
209
- run : |
210
- set -x
211
- if [ "$RUNNER_OS" == "Linux" ]; then
212
- export CC=gcc
213
- export CXX=g++
214
- fi
215
-
216
- # Print information useful for debugging
217
- gcc --version
218
- g++ --version
219
- whoami
220
- echo $HOME
221
- echo $GITHUB_WORKSPACE
222
- echo "Testing from branch:"
223
- echo $GITHUB_REFH
224
- cmake --version
225
- pwd
226
-
227
- # Build library
228
- cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
229
- -DHEXL_SHARED_LIB=${{ matrix.shared_lib }} \
230
- -DCMAKE_INSTALL_PREFIX=./
231
- cmake --build build -j
232
- cmake --build build --target install
233
- cmake --build build --target unittest
234
- # Instead of calling cmake --build build --target bench,
235
- # we run the executable directly to pass command-line arguments
236
- ./build/benchmark/bench_hexl \
237
- --benchmark_out="${GITHUB_WORKFLOW}_${GITHUB_SHA}" \
238
- --benchmark_out_format=csv ${{ matrix.benchmark_min_time }}
239
-
240
- # Build and run examples
241
- cd $GITHUB_WORKSPACE/example/cmake
242
- cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
243
- ${{ env.HEXL_HINT_DIR }}
244
- cmake --build build
245
- build/example
246
-
247
- # Build example using pkgconfig
248
- cd $GITHUB_WORKSPACE/example/pkgconfig
249
- # Set PKG_CONFIG_PATH to locate hexl.pc
250
- export PKG_CONFIG_PATH=$GITHUB_WORKSPACE/lib/pkgconfig
251
- cmake -S . -B build
252
- cmake --build build
253
- build/example
254
-
255
- # Build example using vcpkg
256
- # TODO: fix vcpkg example CI
257
- # vcpkg install hexl --overlay-ports=$GITHUB_WORKSPACE/port/hexl/ --head
258
- # cd $GITHUB_WORKSPACE/example/vcpkg
259
- # vcpkg_toolchain=$(locate vcpkg.cmake)
260
- # echo $vcpkg_toolchain
261
- # cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=$vcpkg_toolchain
262
- # cmake --build build
263
- # build/example
264
- # set +x
265
-
266
- - name : Archive benchmark results
267
- uses : actions/upload-artifact@v2
268
- with :
269
- name : bench_hexl_${{github.sha}}.csv
270
- path : ${{ github.workspace }}/${{ github.workflow }}_${{ github.sha }}
271
- retention-days : 90 # Maximum for free version
272
-
273
-
274
-
275
183
experimental-build :
276
184
name : ' experimental: ${{ matrix.os }} ${{ matrix.build_type }} shared=${{ matrix.shared_lib }}'
277
185
runs-on : ' ${{ matrix.os }}'
@@ -280,7 +188,13 @@ jobs:
280
188
shell : bash
281
189
strategy :
282
190
matrix :
283
- os : [ice-lake]
191
+ # This is an unsupported experimental build - use at your own risk
192
+ #
193
+ # Ice-lake platform not available on github
194
+ # self-hosted platforms disabled by Intel github sys admin
195
+ # building on default ubuntu-20.04 platform
196
+ # os: [ice-lake]
197
+ os : [ubuntu-20.04]
284
198
build_type : [Release]
285
199
shared_lib : [ON]
286
200
steps :
@@ -289,8 +203,8 @@ jobs:
289
203
run : |
290
204
set -x
291
205
if [ "$RUNNER_OS" == "Linux" ]; then
292
- export CC=clang-10
293
- export CXX=clang++-10
206
+ export CC=clang-11
207
+ export CXX=clang++-11
294
208
fi
295
209
296
210
# Print information useful for debugging
0 commit comments