Skip to content

Conversation

mizvekov
Copy link
Collaborator

@mizvekov mizvekov commented Jul 30, 2025

Adds MSan sanitizer job.

This builds libc++, if the host is capable of it and for non-release jobs, and uses it instead of the system library.

This libc++ will be built with whatever sanitizer is selected, increasing the effectiveness of those tests.
This is also a requirement for MSan, which requires everything to be compiled with it.

Building the libc++ separately, with the host compiler, also decreases the maximum amount of disk space the CI jobs need.

In terms of host compiler, the libc++ being used requires [apple-]clang >= 19 or GCC 15. The other compilers are still built in the pre-existing manner, using the bootstrap build.

For now, GCC 15 doesn't use this yet, because there is some issue linking the library which needs to be investigated.

apple-clang, when built with sanitizers, also has a special requirement which is not being met, so is also not opting into the standalone libc++ build. This is left to improve later.

@mizvekov mizvekov self-assigned this Jul 30, 2025
@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

1 similar comment
@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@mizvekov mizvekov changed the title ci: add asan and msan Linux jobs ci: add msan Linux job Aug 15, 2025
@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@mizvekov mizvekov force-pushed the ci-enable-msan branch 5 times, most recently from 204baa9 to 7cd0ed0 Compare September 3, 2025 17:22
@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

1 similar comment
@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@alandefreitas
Copy link
Collaborator

alandefreitas commented Sep 25, 2025

I assume there will be no problem

#950 (comment)

these are orthogonal

Only if bootstrap is not a source of truth, which it attempts to be

In fact, one future plan is to replace literally everything in CI with a single call to bootstrap.py

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@alandefreitas
Copy link
Collaborator

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@sdarwin, is it possible to tell the bot to only make this comment once per PR?

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://950.mrdocs.prtest2.cppalliance.org/index.html

@sdarwin
Copy link
Contributor

sdarwin commented Sep 25, 2025

@alandefreitas reviewing the available settings in Jenkins, there is a possibility: "Ignore Pull Requests marked as Drafts". Coincidentally, a pull request that's in very active development, getting 100 updates, is probably a "draft", right? It's not ready to merge.
Set this PR 950 to be a "draft" and lets see if previews stop.

@mizvekov
Copy link
Collaborator Author

@alandefreitas reviewing the available settings in Jenkins, there is a possibility: "Ignore Pull Requests marked as Drafts". Coincidentally, a pull request that's in very active development, getting 100 updates, is probably a "draft", right? It's not ready to merge. Set this PR 950 to be a "draft" and lets see if previews stop.

It's not possible to turn PRs back into drafts on GitHub.

FWIW this shouldn't have to rely on that, specially in this case where the url doesn't even change.

I have seen similar bot actions, where even when there is an actual update, the bot just updates the existing comment in place, instead of adding a new comment.

@sdarwin sdarwin marked this pull request as draft September 25, 2025 22:58
@sdarwin
Copy link
Contributor

sdarwin commented Sep 25, 2025

It's not possible to turn PRs back into drafts

It's now a draft.

@mizvekov
Copy link
Collaborator Author

TIL you can do that, where is the option?

@sdarwin
Copy link
Contributor

sdarwin commented Sep 25, 2025

where is the option

Not sure what your current collaboration settings are, if "administrator" (as Alan) there's a "convert to draft" setting near "Reviews".

@alandefreitas
Copy link
Collaborator

It's now a draft.

Phew

@mizvekov mizvekov force-pushed the ci-enable-msan branch 3 times, most recently from 66f3bf1 to 003925c Compare September 30, 2025 16:40
@mizvekov mizvekov marked this pull request as ready for review September 30, 2025 19:34
@alandefreitas alandefreitas merged commit 88954d7 into cppalliance:develop Sep 30, 2025
52 of 53 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants