CI: build libcxx_msan every time

This commit is contained in:
SChernykh 2023-08-24 15:02:32 +02:00
parent 17a17850ea
commit 0e0101f507
4 changed files with 16 additions and 45 deletions

View file

@ -1,36 +0,0 @@
name: Build libc++ for MemorySanitizer
on: [workflow_dispatch]
jobs:
build-libcxx_msan:
runs-on: ubuntu-22.04
steps:
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y git cmake ninja-build
- name: Install clang
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 17
- name: Build libcxx_msan
run: |
git clone --depth=1 https://github.com/llvm/llvm-project -b release/17.x
cd llvm-project
mkdir build
cmake -G Ninja -S runtimes -B build -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 -DLLVM_USE_SANITIZER=MemoryWithOrigins
ninja -C build cxx cxxabi
cd build
XZ_OPT=-e9 tar cfJ libcxx_msan.tar.xz include lib
- name: Archive libcxx_msan.tar.xz
uses: actions/upload-artifact@v3
with:
name: libcxx_msan
path: llvm-project/build/libcxx_msan.tar.xz

View file

@ -67,7 +67,7 @@ jobs:
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y git build-essential cmake libuv1-dev libzmq3-dev libsodium-dev libpgm-dev libnorm-dev libgss-dev libcurl4-openssl-dev libidn2-0-dev
sudo apt install -y git build-essential cmake ninja-build
- name: Install clang
run: |
@ -75,18 +75,23 @@ jobs:
chmod +x llvm.sh
sudo ./llvm.sh 17
- name: Build libcxx_msan
run: |
git clone --depth=1 https://github.com/llvm/llvm-project -b release/17.x
cd llvm-project
mkdir build
cmake -G Ninja -S runtimes -B build -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 -DLLVM_USE_SANITIZER=MemoryWithOrigins
ninja -C build cxx cxxabi
cd build
mkdir /tmp/libcxx_msan
cp -r include /tmp/libcxx_msan
cp -r lib /tmp/libcxx_msan
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: true
- name: Install libcxx_msan
run: |
mkdir /tmp/libcxx_msan
cp tests/src/libcxx_msan.tar.xz /tmp/libcxx_msan
cd /tmp/libcxx_msan
tar xvf libcxx_msan.tar.xz
- name: Build libcurl
run: |
cd external/src/curl

View file

@ -76,7 +76,9 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES Clang)
set(WARNING_FLAGS "-Wall -Wextra -Wno-undefined-internal -Wunreachable-code-aggressive -Wmissing-prototypes -Wmissing-variable-declarations -Werror")
if (NOT DEV_WITH_MSAN)
if (DEV_WITH_MSAN)
set(OPTIMIZATION_FLAGS "-O2 -g")
else()
set(OPTIMIZATION_FLAGS "-Ofast -funroll-loops -fmerge-all-constants")
endif()

Binary file not shown.