@@ -222,13 +222,18 @@ jobs:
222
222
fail-fast : false
223
223
matrix :
224
224
sanitizer : [undefined, address, thread]
225
- compiler : [clang]
225
+ compiler : [clang, gcc ]
226
226
include :
227
227
- compiler : clang
228
228
cc : " clang"
229
229
cxx : " clang++"
230
230
install : wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 18
231
231
toolchain_root : " /usr/lib/llvm-18"
232
+ - compiler : gcc
233
+ cc : " gcc-13"
234
+ cxx : " g++-13"
235
+ install : sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test && sudo apt update && sudo apt-get install -y gcc-13 g++-13
236
+ toolchain_root : " /usr"
232
237
233
238
steps :
234
239
- uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
@@ -265,6 +270,13 @@ jobs:
265
270
path : ~/cpm-cache
266
271
key : ${{runner.os}}-${{env.cache-name}}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
267
272
273
+ # https://github.com/actions/runner-images/issues/9524
274
+ - name : Fix kernel mmap rnd bits
275
+ # Asan in llvm 14 provided in ubuntu 22.04 is incompatible with
276
+ # high-entropy ASLR in much newer kernels that GitHub runners are
277
+ # using leading to random crashes: https://reviews.llvm.org/D148280
278
+ run : sudo sysctl vm.mmap_rnd_bits=28
279
+
268
280
- name : Build Unit Tests
269
281
run : cmake --build ${{github.workspace}}/build -t unit_tests
270
282
@@ -274,7 +286,9 @@ jobs:
274
286
- uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
275
287
276
288
- name : Install build tools
277
- run : sudo apt update && sudo apt install -y gcc-${{env.DEFAULT_GCC_VERSION}} g++-${{env.DEFAULT_GCC_VERSION}} ninja-build valgrind
289
+ run : |
290
+ sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
291
+ sudo apt update && sudo apt-get install -y gcc-${{env.DEFAULT_GCC_VERSION}} g++-${{env.DEFAULT_GCC_VERSION}} ninja-build valgrind
278
292
279
293
- name : Restore CPM cache
280
294
env :
0 commit comments