From 7ad577dfb9e8de52ce28354db4c090d7e0d21bb6 Mon Sep 17 00:00:00 2001 From: Ian Henriksen Date: Tue, 31 Oct 2023 11:30:33 -0600 Subject: [PATCH] Arm sanitizer builds on circleci. --- .circleci/config.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index ada5aa52c..c037dd065 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -56,6 +56,40 @@ jobs: - run: | timeout --foreground -k 10s 2m make check + arm_sanitizers: + parameters: + scheduler: + type: string + topology: + type: string + sanitizer: + type: string + machine: + image: ubuntu-2204:2023.10.1 + resource_class: arm.medium + environment: + CC: clang-17 + CXX: clang++-17 + CFLAGS: "-fsanitize=<< parameters.sanitizer >>" + CXXFLAGS: "-fsanitize=<< parameters.sanitizer >>" + LDFLAGS: "-fsanitize=<< parameters.sanitizer >>" + steps: + - checkout + - run: | + sudo apt-add-repository -y 'ppa:ubuntu-toolchain-r/test' + sudo apt-get install -y gcc-13 g++-13 + sudo apt-get install -y autoconf automake libtool + sudo apt-get install -y hwloc libhwloc-dev + wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - + sudo apt-add-repository -y 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main' + sudo apt-get install -y clang-17 + - run: | + ./autogen.sh + ./configure --enable-picky --with-scheduler=<< parameters.scheduler >> -with-topology=<< parameters.topology >> + make -j2 + - run: | + timeout --foreground -k 10s 4444m make check + workflows: build_and_test: jobs: @@ -69,4 +103,10 @@ workflows: parameters: scheduler: [nemesis, sherwood, distrib] topology: ['no', binders, hwloc] + - arm_sanitizers: + matrix: + parameters: + scheduler: [nemesis, sherwood, distrib] + topology: ['no', binders, hwloc] + sanitizer: [address, memory, thread, undefined]