p2pool/.github/workflows/libcxx_msan.yml

37 lines
1,016 B
YAML
Raw Normal View History

2023-05-25 16:26:36 +00:00
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
2023-08-15 08:04:21 +00:00
sudo ./llvm.sh 17
2023-05-25 16:26:36 +00:00
- name: Build libcxx_msan
run: |
2023-08-15 08:04:21 +00:00
git clone --depth=1 https://github.com/llvm/llvm-project -b release/17.x
2023-05-25 16:26:36 +00:00
cd llvm-project
mkdir build
2023-08-15 08:04:21 +00:00
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
2023-05-25 16:26:36 +00:00
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