From 125ed20d2dac7f598777b33fea1179671916c0b7 Mon Sep 17 00:00:00 2001 From: Matej Kenda Date: Fri, 15 Dec 2023 16:16:28 +0100 Subject: [PATCH] enh(ci): macOS sanitize jobs for undefined and address. --- .github/workflows/ci.yml | 84 +++++++++++++++++++++++++++++----------- 1 file changed, 61 insertions(+), 23 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fdd32ba05b..36880e2fc9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -304,29 +304,67 @@ jobs: EXCLUDE_TESTS="Redis Data/MySQL Data/ODBC Data/PostgreSQL MongoDB PDF" ./ci/runtests.sh TSAN -# macos-clang-cmake-openssl3-tsan: -# runs-on: macos-12 -# steps: -# - uses: actions/checkout@v3 -# - run: brew install openssl@3 -# - run: CXXFLAGS=-fsanitize=thread cmake -H. -Bcmake-build -DENABLE_CPPPARSER=OFF -DENABLE_DATA_ODBC=OFF -DENABLE_DATA_MYSQL=OFF -DENABLE_DATA_POSTGRESQL=OFF -DENABLE_MONGODB=OFF -DENABLE_PDF=OFF -DENABLE_PAGECOMPILER=OFF -DENABLE_ENCODINGS=OFF -DENABLE_REDIS=OFF -DENABLE_TESTS=ON -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@3 && cmake --build cmake-build --target all -# - uses: ./.github/actions/retry-action -# with: -# timeout_minutes: 90 -# max_attempts: 3 -# retry_on: any -# command: >- -# cd cmake-build && -# CPPUNIT_IGNORE=" -# CppUnit::TestCaller.testTrySleep, -# CppUnit::TestCaller.testTimestamp, -# CppUnit::TestCaller.testExpireN, -# CppUnit::TestCaller.testAccessExpireN, -# CppUnit::TestCaller.testExpireN, -# CppUnit::TestCaller.testAccessExpireN, -# CppUnit::TestCaller.testPollClosedServer" -# PWD=`pwd` -# ctest -V + macos-clang-make-openssl3-ubsan: + runs-on: macos-12 + steps: + - uses: actions/checkout@v3 + - run: brew install openssl@3 mysql-client unixodbc libpq + - run: >- + ./configure --everything --no-prefix --no-samples --omit=PDF + --odbc-include=/usr/local/opt/unixodbc/include --odbc-lib=/usr/local/opt/unixodbc/lib + --mysql-include=/usr/local/opt/mysql-client/include --mysql-lib=/usr/local/opt/mysql-client/lib + --include-path="/usr/local/opt/openssl@3/include" --library-path="/usr/local/opt/openssl@3/lib" && + make all -s -j4 SANITIZEFLAGS=-fsanitize=undefined + + - uses: ./.github/actions/retry-action + with: + timeout_minutes: 90 + max_attempts: 3 + retry_on: any + command: >- + sudo -s + CPPUNIT_IGNORE=" + CppUnit::TestCaller.testTrySleep, + CppUnit::TestCaller.testTimestamp, + CppUnit::TestCaller.testExpireN, + CppUnit::TestCaller.testAccessExpireN, + CppUnit::TestCaller.testExpireN, + CppUnit::TestCaller.testAccessExpireN, + CppUnit::TestCaller.testPollClosedServer, + CppUnit::TestCaller.testEncryptDecryptGCM" + EXCLUDE_TESTS="Redis Data/MySQL Data/ODBC Data/PostgreSQL MongoDB PDF" + ./ci/runtests.sh + + macos-clang-make-openssl3-asan: + runs-on: macos-12 + steps: + - uses: actions/checkout@v3 + - run: brew install openssl@3 mysql-client unixodbc libpq + - run: >- + ./configure --everything --no-prefix --no-samples --omit=PDF + --odbc-include=/usr/local/opt/unixodbc/include --odbc-lib=/usr/local/opt/unixodbc/lib + --mysql-include=/usr/local/opt/mysql-client/include --mysql-lib=/usr/local/opt/mysql-client/lib + --include-path="/usr/local/opt/openssl@3/include" --library-path="/usr/local/opt/openssl@3/lib" && + make all -s -j4 SANITIZEFLAGS=-fsanitize=address + + - uses: ./.github/actions/retry-action + with: + timeout_minutes: 90 + max_attempts: 3 + retry_on: any + command: >- + sudo -s + CPPUNIT_IGNORE=" + CppUnit::TestCaller.testTrySleep, + CppUnit::TestCaller.testTimestamp, + CppUnit::TestCaller.testExpireN, + CppUnit::TestCaller.testAccessExpireN, + CppUnit::TestCaller.testExpireN, + CppUnit::TestCaller.testAccessExpireN, + CppUnit::TestCaller.testPollClosedServer, + CppUnit::TestCaller.testEncryptDecryptGCM" + EXCLUDE_TESTS="Redis Data/MySQL Data/ODBC Data/PostgreSQL MongoDB PDF" + ./ci/runtests.sh # windows-2019-msvc-cmake: # runs-on: windows-2019