Skip to content

Commit

Permalink
Merge pull request #2376 from GMLC-TDC/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
phlptp authored Jun 16, 2022
2 parents 5e37168 + de4d622 commit 4bf2f34
Show file tree
Hide file tree
Showing 783 changed files with 7,567 additions and 25,992 deletions.
22 changes: 22 additions & 0 deletions .circleci/asan_suppression.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Lines starting with # are ignored.
# Turn off checks for the source file (use absolute path or path relative
# to the current working directory):
src:*functional.cpp
# Turn off checks for a particular functions (use mangled names):
#fun:MyFooBar
#fun:_Z8MyFooBarv
# Extended regular expressions are supported:
#fun:bad_(foo|bar)
#src:bad_source[1-9].c
# Shell like usage of * is supported (* is treated as .*):
#src:bad/sources/*
#fun:*BadFunction*
# Specific sanitizer tools may introduce categories.
#src:/special/path/*=special_sources
# Sections can be used to limit ignorelist entries to specific sanitizers
#[address]
#fun:*BadASanFunc*
# Section names are regular expressions
#[cfi-vcall|cfi-icall]
#fun:*BadCfiCall
# Entries without sections are placed into [*] and apply to all sanitizers
2 changes: 2 additions & 0 deletions .circleci/asan_suppression2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
interceptor_via_fun:functional
interceptor_via_fun:-[ClassName bad_function_call:]
136 changes: 110 additions & 26 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ aliases:
eval cmake .. ${CMAKE_FLAGS}
make -j 4
- &setup_helics_low_mem
name: setup_helics
environment:
command: |
mkdir -p build
cd build
eval cmake .. ${CMAKE_FLAGS}
make -j 2
- &run_octave_tests
name: run_octave_tests
command: |
Expand All @@ -32,6 +41,13 @@ aliases:
RESULT=$?
exit $RESULT
- &run_helics_sanitizer_tests
name: run_helics_tests
command: |
/root/project/scripts/run-circleci-tests-sanitizer.sh
RESULT=$?
exit $RESULT
- &run_installer_tests
name: run_installer_tests
command: |
Expand Down Expand Up @@ -61,39 +77,62 @@ jobs:

helicsgccTSan:
docker:
- image: helics/buildenv:builder
- image: helics/buildenv:gcc12-builder
environment:
CMAKE_FLAGS: '-DCMAKE_CXX_FLAGS="-fsanitize=thread -g -O1 " -DHELICS_BUILD_TESTS=ON -DHELICS_ZMQ_SUBPROJECT=ON -DHELICS_ZMQ_FORCE_SUBPROJECT=ON -DHELICS_DISABLE_SYSTEM_CALL_TESTS=ON'
TSAN_OPTIONS: 'second_deadlock_stack=1 suppressions=/root/project/.circleci/tsan_suppression.txt history_size=4'

steps:
- checkout
- run: *setup_helics_low_mem
- run: *run_helics_sanitizer_tests

helicsgccASan:
docker:
- image: helics/buildenv:gcc12-builder
environment:
CMAKE_FLAGS: '-DCMAKE_CXX_FLAGS="-ggdb -fsanitize=address -fno-omit-frame-pointer -static-libstdc++ -static-libasan -lrt -g -O1 " -DHELICS_BUILD_TESTS=ON -DHELICS_ZMQ_SUBPROJECT=ON -DHELICS_ZMQ_FORCE_SUBPROJECT=ON -DHELICS_DISABLE_SYSTEM_CALL_TESTS=ON'
ASAN_OPTIONS: 'alloc_dealloc_mismatch=0'
LSAN_OPTIONS: 'suppressions=/root/project/.circleci/leak_suppression_gcc.txt'
steps:
- checkout
- run: *setup_helics
- run: *run_helics_tests
- run: *run_helics_sanitizer_tests

helicsASan:
docker:
- image: helics/buildenv:sanitizers
- image: helics/buildenv:sanitizers-14
environment:
CMAKE_FLAGS: '-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_FLAGS="-fsanitize=undefined,address -fsanitize-address-use-after-scope -stdlib=libc++ -L/root/develop/libcxx_asan/lib -lc++abi -I/root/develop/libcxx_asan/include -I/root/develop/libcxx_asan/include/c++/v1 -Wno-unused-command-line-argument -fno-omit-frame-pointer -g -O1 -Wl,-rpath=/root/develop/libcxx_asan/lib -fsanitize-blacklist=/root/project/.circleci/asan_blacklist.txt" -DHELICS_BUILD_TESTS=ON -DHELICS_ZMQ_SUBPROJECT=ON -DHELICS_ZMQ_FORCE_SUBPROJECT=ON'
CMAKE_FLAGS: '-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_FLAGS="-fsanitize=undefined,address -lc++ -lc++abi -fsanitize-address-use-after-scope -fsanitize-ignorelist=/root/project/.circleci/asan_suppression.txt -Wno-unused-command-line-argument -fno-omit-frame-pointer -g -O1 -fsanitize-blacklist=/root/project/.circleci/asan_blacklist.txt" -DHELICS_BUILD_TESTS=ON -DHELICS_ZMQ_SUBPROJECT=ON -DHELICS_ZMQ_FORCE_SUBPROJECT=ON'
LSAN_OPTIONS: 'suppressions=/root/project/.circleci/leak_suppression.txt'
UBSAN_OPTIONS: 'print_stacktrace=1 suppressions=/root/project/.circleci/ubsan_suppression.txt'

ASAN_OPTIONS: 'alloc_dealloc_mismatch=0'
steps:
- checkout
- run: *setup_helics
- run: *run_helics_tests
- run: *run_helics_sanitizer_tests

helicsMSan:
docker:
- image: helics/buildenv:sanitizers
- image: helics/buildenv:sanitizers-14
environment:
CMAKE_FLAGS: '-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_FLAGS="-fsanitize=memory -stdlib=libc++ -L/root/develop/libcxx_msan/lib -lc++abi -I/root/develop/libcxx_msan/include -I/root/develop/libcxx_msan/include/c++/v1 -Wno-unused-command-line-argument -fno-omit-frame-pointer -g -O1 -Wl,-rpath=/root/develop/libcxx_msan/lib" -DHELICS_BUILD_TESTS=ON -DHELICS_ZMQ_SUBPROJECT=ON -DHELICS_ZMQ_FORCE_SUBPROJECT=ON'
CMAKE_FLAGS: '-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_FLAGS="-fsanitize=memory -nostdinc++ -nostdlib++ -L/root/develop/libcxx_msan/lib -lc++ -lc++abi -I/root/develop/libcxx_msan/include -I/root/develop/libcxx_msan/include/c++/v1 -Wno-unused-command-line-argument -fno-omit-frame-pointer -g -O1 -Wl,-rpath,/root/develop/libcxx_msan/lib" -DHELICS_BUILD_TESTS=ON -DHELICS_ZMQ_SUBPROJECT=ON -DHELICS_ZMQ_FORCE_SUBPROJECT=ON'

steps:
- checkout
- run: *setup_helics
- run: *run_helics_tests
- run: *run_helics_sanitizer_tests

helicsTSan:
docker:
- image: helics/buildenv:sanitizers-14
environment:
CMAKE_FLAGS: '-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_FLAGS="-fsanitize=thread -nostdinc++ -nostdlib++ -L/root/develop/libcxx_tsan/lib -lc++ -lc++abi -I/root/develop/libcxx_tsan/include -I/root/develop/libcxx_tsan/include/c++/v1 -Wno-unused-command-line-argument -fno-omit-frame-pointer -g -O2 -Wl,-rpath,/root/develop/libcxx_tsan/lib" -DHELICS_BUILD_TESTS=ON -DHELICS_ZMQ_SUBPROJECT=ON -DHELICS_ZMQ_FORCE_SUBPROJECT=ON'
TSAN_OPTIONS: 'suppressions=/root/project/.circleci/tsan_suppression.txt'
steps:
- checkout
- run: *setup_helics
- run: *run_helics_sanitizer_tests

helicsInstall1:
docker:
Expand All @@ -119,7 +158,7 @@ jobs:
docker:
- image: helics/buildenv:tumbleweed-builder
environment:
CMAKE_FLAGS: '-DHELICS_BUILD_CXX_SHARED_LIB=ON -DHELICS_ENABLE_ZMQ_CORE=OFF -DHELICS_ENABLE_IPC_CORE=OFF -DHELICS_ENABLE_UDP_CORE=OFF -DHELICS_BUILD_TESTS=ON -DCMAKE_CXX_STANDARD=17'
CMAKE_FLAGS: '-DHELICS_BUILD_CXX_SHARED_LIB=ON -DHELICS_ENABLE_ZMQ_CORE=OFF -DHELICS_ENABLE_IPC_CORE=OFF -DHELICS_ENABLE_UDP_CORE=OFF -DHELICS_BUILD_TESTS=ON -DCMAKE_CXX_STANDARD=20'
steps:
- checkout
- run: *setup_helics
Expand All @@ -134,14 +173,25 @@ jobs:
- run: *setup_helics
- run: *run_installer_tests

gcc10:
gcc12:
docker:
- image: helics/buildenv:gcc10-builder
- image: helics/buildenv:gcc12-builder
environment:
CMAKE_FLAGS: '-DHELICS_EXTRA_COMPILE_FLAGS=-Wredundant-tags'
CMAKE_FLAGS: '-DHELICS_EXTRA_COMPILE_FLAGS=-Wredundant-tags -DHELICS_BUILD_CXX_SHARED_LIB=ON -DHELICS_BUILD_TESTS=ON'
steps:
- checkout
- run: *setup_helics
- run: *run_helics_tests

clang14:
docker:
- image: helics/buildenv:clang14-builder
environment:
CMAKE_FLAGS: '-DHELICS_BUILD_CXX_SHARED_LIB=ON -DHELICS_BUILD_TESTS=ON -DCMAKE_CXX_STANDARD=20'
steps:
- checkout
- run: *setup_helics
- run: *run_helics_tests

benchmarkjob:
docker:
Expand All @@ -160,31 +210,66 @@ workflows:
version: 2
helics_test:
jobs:
- helicsMSan:
- helicsInstall1:
filters:
branches:
ignore: /pre-commit\/.*/
- helicsASan:
- helicsInstall2:
filters:
branches:
ignore: /pre-commit\/.*/
- helicsInstall1:
- gcc12:
filters:
branches:
ignore: /pre-commit\/.*/
- helicsInstall2:
- clang14:
filters:
branches:
ignore: /pre-commit\/.*/
sanitizers:
jobs:
- helicsTSan:
filters:
branches:
only:
- sanitizer_tests
- helicsASan:
filters:
branches:
only:
- sanitizer_tests
- helicsgccASan:
filters:
branches:
only:
- sanitizer_tests
- helicsgccTSan:
filters:
branches:
ignore: /pre-commit\/.*/
only:
- sanitizer_tests
- helicsMSan:
filters:
branches:
only:
- sanitizer_tests
dailies:
jobs:
- helicsTumbleweed:
filters:
branches:
only:
- dailies_tests
- helicsoctave:
filters:
branches:
ignore: /pre-commit\/.*/

only:
- dailies_tests
- helicsNoZmq:
filters:
branches:
only:
- dailies_tests
nightly:
triggers:
- schedule:
Expand All @@ -193,15 +278,15 @@ workflows:
branches:
only:
- develop
- helics2
jobs:
- helicsoctave
- helicsMSan
- helicsASan
- helicsTumbleweed
- helicsNoZmq
- helicsoctave
- helicsTSan
- helicsASan
- helicsgccASan
- helicsgccTSan
- gcc10
- helicsMSan
benchmark:
triggers:
- schedule:
Expand All @@ -210,6 +295,5 @@ workflows:
branches:
only:
- develop
- helics2
jobs:
- benchmarkjob
Loading

0 comments on commit 4bf2f34

Please sign in to comment.