-
Notifications
You must be signed in to change notification settings - Fork 115
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
[CI] Add CI configurations for assertions, clang, and sanitizers #634
Conversation
Can one of the admins verify this patch? |
@kuhar , how about always enable assertion and sanitzers? then we only have two build variants: |
Looks good in general, thanks for working on this. I have a few notes on the sanitizers:
|
Having assertions always on is not a good idea. They affect ABI and can hide bugs -- a simple example is code being correct only when assertions are executed, or vice versa. When it comes to sanitizers, I think that in practice they can complain about some issues that are pretty low-priority to fix, and it would be good to know that even though they complain, regular builds continue working. |
Thanks for pointing the issues out. If you are happy with the general direction of this PR, perhaps it would be best to commit only the clang part now and add builds with assertions and sanitizers later, once the CMake build properly support them? |
This extends the current public CI infrastructure with 5 new build configurations. Each of configuration has its own base image cached in GCR. This way each incremental CI build doesn't have to know about the precise CMake invocation and resumes from whatever configuration its base imgage used. GitHub actions offer 10 free concurrent CI jobs, so this should significanly slow down the public CI, with 4 workers still unused.
I updated the PR to run without sanitizers for now. The most important thing for me is that we have a mechanism to support these in the future and that there's a clear way to add more 'features' as we need. @Flakebi Can we introduce 2 new flags:
Where |
Looks good!
I’ll try to get these flags into xgl. |
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.
LGTM
You mentioned something about having to set
Sounds good to me. |
Actually, ignore that one, I think it only plays a role when using a shared library (amdvlk64.so), for example when running the CTS, not when running unit tests. |
This extends the current public CI infrastructure with 5 new build
configurations. Each of configuration has its own base image cached
in GCR. This way each incremental CI build doesn't have to know about
the precise CMake invocation and resumes from whatever configuration
its base imgage used.
GitHub actions offer 10 free concurrent CI jobs, so this should
significanly slow down the public CI, with 4 workers still unused.