From c2e1ef5ec1b57aee6d58b19b44c23d1b23bf7346 Mon Sep 17 00:00:00 2001 From: div72 <60045611+div72@users.noreply.github.com> Date: Sun, 16 Oct 2022 02:04:22 +0300 Subject: [PATCH] ci: add new builds with sanitizers --- .github/workflows/ci.yml | 4 ++++ ci/test/00_setup_env_native_asan.sh | 14 ++++++++++++++ ci/test/00_setup_env_native_tsan.sh | 14 ++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 ci/test/00_setup_env_native_asan.sh create mode 100644 ci/test/00_setup_env_native_tsan.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 17bc8167a2..9419713865 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,6 +23,10 @@ jobs: script-id: native - name: x86_64 Linux [GOAL install] [GUI] [bionic] [no depends] script-id: native_old + - name: x86_64 Linux [ASan] [LSan] [UBSan] [integer] [jammy] [no depends] + script-id: native_asan + - name: x86_64 Linux [TSan] [GUI] [jammy] + script-id: native_tsan - name: macOS 10.14 [GOAL deploy] [GUI] [no tests] [focal] script-id: mac env: diff --git a/ci/test/00_setup_env_native_asan.sh b/ci/test/00_setup_env_native_asan.sh new file mode 100644 index 0000000000..6b8decb625 --- /dev/null +++ b/ci/test/00_setup_env_native_asan.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# +# Copyright (c) 2019-2022 The Bitcoin Core developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or https://opensource.org/licenses/mit-license.php. + +export LC_ALL=C.UTF-8 + +export CONTAINER_NAME=ci_native_asan +export PACKAGES="clang llvm libqt5gui5 libqt5core5a qtbase5-dev libqt5dbus5 qttools5-dev qttools5-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-iostreams-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libqrencode-dev libzip-dev zlib1g zlib1g-dev libcurl4 libcurl4-openssl-dev" +export DOCKER_NAME_TAG=ubuntu:22.04 +export NO_DEPENDS=1 +export GOAL="install" +export GRIDCOIN_CONFIG="--with-incompatible-bdb --with-gui=qt5 CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER' --with-sanitizers=address,integer,undefined CC=clang CXX=clang++" diff --git a/ci/test/00_setup_env_native_tsan.sh b/ci/test/00_setup_env_native_tsan.sh new file mode 100644 index 0000000000..206af61e08 --- /dev/null +++ b/ci/test/00_setup_env_native_tsan.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# +# Copyright (c) 2019-2022 The Bitcoin Core developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or https://opensource.org/licenses/mit-license.php. + +export LC_ALL=C.UTF-8 + +export CONTAINER_NAME=ci_native_tsan +export DOCKER_NAME_TAG=ubuntu:22.04 +export PACKAGES="clang-13 llvm-13 libc++abi-13-dev libc++-13-dev" +export DEP_OPTS="CC=clang-13 CXX='clang++-13 -stdlib=libc++'" +export GOAL="install" +export GRIDCOIN_CONFIG="CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKORDER -DDEBUG_LOCKCONTENTION' CXXFLAGS='-g' --with-sanitizers=thread CC=clang-13 CXX='clang++-13 -stdlib=libc++'"