mirror of
https://github.com/SChernykh/p2pool.git
synced 2025-01-03 17:29:24 +00:00
CI: build libcxx_msan every time
This commit is contained in:
parent
17a17850ea
commit
0e0101f507
4 changed files with 16 additions and 45 deletions
36
.github/workflows/libcxx_msan.yml
vendored
36
.github/workflows/libcxx_msan.yml
vendored
|
@ -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
|
|
21
.github/workflows/test-sync.yml
vendored
21
.github/workflows/test-sync.yml
vendored
|
@ -67,7 +67,7 @@ jobs:
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt update
|
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
|
- name: Install clang
|
||||||
run: |
|
run: |
|
||||||
|
@ -75,18 +75,23 @@ jobs:
|
||||||
chmod +x llvm.sh
|
chmod +x llvm.sh
|
||||||
sudo ./llvm.sh 17
|
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
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
submodules: true
|
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
|
- name: Build libcurl
|
||||||
run: |
|
run: |
|
||||||
cd external/src/curl
|
cd external/src/curl
|
||||||
|
|
|
@ -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")
|
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")
|
set(OPTIMIZATION_FLAGS "-Ofast -funroll-loops -fmerge-all-constants")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
Binary file not shown.
Loading…
Reference in a new issue