ci: add leak sanitizer Dockerfile
This commit is contained in:
		
							parent
							
								
									05f6fab1b8
								
							
						
					
					
						commit
						418fa22ebe
					
				
					 1 changed files with 63 additions and 0 deletions
				
			
		
							
								
								
									
										63
									
								
								tools/ci/images/leak_sanitizer/Dockerfile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								tools/ci/images/leak_sanitizer/Dockerfile
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,63 @@
 | 
				
			||||||
 | 
					FROM alpine:latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN apk add --no-cache \
 | 
				
			||||||
 | 
					    bash \
 | 
				
			||||||
 | 
					    clang \
 | 
				
			||||||
 | 
					    llvm \
 | 
				
			||||||
 | 
					    cmake \
 | 
				
			||||||
 | 
					    git \
 | 
				
			||||||
 | 
					    make \
 | 
				
			||||||
 | 
					    g++ \
 | 
				
			||||||
 | 
					    python3 \
 | 
				
			||||||
 | 
					    py3-pip \
 | 
				
			||||||
 | 
					    mesa-dev \
 | 
				
			||||||
 | 
					    mesa-gl \
 | 
				
			||||||
 | 
					    pkgconf \
 | 
				
			||||||
 | 
					    mold \
 | 
				
			||||||
 | 
					    ninja \
 | 
				
			||||||
 | 
					    libc-dev \
 | 
				
			||||||
 | 
					    zlib-dev \
 | 
				
			||||||
 | 
					    libexecinfo-dev \
 | 
				
			||||||
 | 
					    libunwind-dev
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN pip install --no-cache-dir --break-system-packages conan gitpython \
 | 
				
			||||||
 | 
					    && conan profile detect
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN clang --version  \
 | 
				
			||||||
 | 
					    && conan --version \
 | 
				
			||||||
 | 
					    && pip --version \
 | 
				
			||||||
 | 
					    && cmake --version \
 | 
				
			||||||
 | 
					    && g++ --version \
 | 
				
			||||||
 | 
					    && clang --version \
 | 
				
			||||||
 | 
					    && ninja --version \
 | 
				
			||||||
 | 
					    && mold --version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN git clone --depth=1 https://github.com/llvm/llvm-project.git -b llvmorg-20.1.8
 | 
				
			||||||
 | 
					RUN cd llvm-project/  \
 | 
				
			||||||
 | 
					    && rm -rf build/ \
 | 
				
			||||||
 | 
					    && mkdir build/ \
 | 
				
			||||||
 | 
					    && cd build/ \
 | 
				
			||||||
 | 
					    && cmake \
 | 
				
			||||||
 | 
					    -G Ninja \
 | 
				
			||||||
 | 
					    -DCMAKE_BUILD_TYPE=Release \
 | 
				
			||||||
 | 
					    -DCMAKE_INSTALL_PREFIX=/libcxx_lsan \
 | 
				
			||||||
 | 
					    -DCMAKE_C_COMPILER=clang \
 | 
				
			||||||
 | 
					    -DCMAKE_CXX_COMPILER=clang++ \
 | 
				
			||||||
 | 
					    -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
 | 
				
			||||||
 | 
					    -DLLVM_ENABLE_PIC=ON \
 | 
				
			||||||
 | 
					    -DLIBCXX_INSTALL_MODULES=ON \
 | 
				
			||||||
 | 
					    -DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
 | 
				
			||||||
 | 
					    -DLLVM_USE_SANITIZER=Leaks \
 | 
				
			||||||
 | 
					    ../runtimes &&\
 | 
				
			||||||
 | 
					    ninja cxx cxxabi && \
 | 
				
			||||||
 | 
					    cd ../\
 | 
				
			||||||
 | 
					    && DESTDIR="/libcxx_lsan" ninja -C build install-cxx install-cxxabi\
 | 
				
			||||||
 | 
					    && rm -rf /usr/src/llvm-project/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# RUN git clone 'https://git.light7734.com/light7734/light.git' --recursive \
 | 
				
			||||||
 | 
					#     && cd light \
 | 
				
			||||||
 | 
					#     && conan install . \
 | 
				
			||||||
 | 
					#         -s build_type=Release \
 | 
				
			||||||
 | 
					#         -c tools.system.package_manager:mode=install \
 | 
				
			||||||
 | 
					#         -c tools.cmake.cmaketoolchain:generator=Ninja \
 | 
				
			||||||
 | 
					#         --build=missing
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue