-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Add sanitizers to CI builds #5996
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
mathbunnyru
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see tests running on this PR, and I would be quite surprised if they just passed without any code changes.
@bthomee please take a look why workflows haven't started
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #5996 +/- ##
=======================================
Coverage 78.2% 78.3%
=======================================
Files 816 816
Lines 68948 68887 -61
Branches 8352 8311 -41
=======================================
- Hits 53950 53934 -16
+ Misses 14998 14953 -45 🚀 New features to boost your workflow:
|
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
| {% endif %} | ||
|
|
||
| [conf] | ||
| {% if compiler == "gcc" %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These settings allows building with sanitizers locally.
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Btw, I think I came up with better SANITIZERS env variable usage.
Instead of silently making Address be Address+Undefined, let's allow more complex values in SANITIZERS value.
The algorithm would be as follows:
if SANITIZERS is not empty, common flags will be added.
if it has Address as a substr, address-specific sanitizer flags.
if it has Underfined as a substr, undefined-specific.
And so on.
You will have to do it carefully, so -fsanitize is properly populated.
And instead of having docs saying Address is actually Address+Undefined, you will set env variable to AddressUndefined
And this would also make more sense when we merge the logic with Clio - we use sanitizers separately, and my approach easily allows it
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
Signed-off-by: Pratik Mankawde <[email protected]>
04ddea5 to
6e32392
Compare
| @@ -0,0 +1,16 @@ | |||
| # Suppress voilations in Boost libraries | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have kept the *.supp, sanitizer suppressions files in the external folder for now. I am open for suggestions though.
High Level Overview of Change
Added support for Sanitizer build options in CI builds workflow.
Context of Change
We want to run Address and Thread sanitizers with Undefined-behaviour sanitizer while running tests on CI.
Build type:
asan+ubsan&tsan+ubsanType of Change
.gitignore, formatting, dropping support for older tooling)