-
Notifications
You must be signed in to change notification settings - Fork 15k
[CI] include utils in monolithic scripts #158090
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
Conversation
-D LLVM_ENABLE_WERROR=ON \ | ||
-DLLVM_BUILD_UTILS=ON \ | ||
-DLLVM_INCLUDE_UTILS=ON \ | ||
-DLLVM_INSTALL_UTILS=ON |
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.
LLVM_BUILD_UTILS and LLVM_INCLUDE_UTILS are already enabled by default. And we're not installing anything, so LLVM_INSTALL_UTILS shouldn't really do anything either. Overall I'm confused what difference this change actually makes.
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.
#157944 adds an install test. Also yes the first two are on by default but I thought it better to be explicit.
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.
This PR adds *_UTILS to the monolithic scripts so that follow-up PRs can use utils in install flow tests.
More information on what exactly this is intended to test would be good.
It also looks like this is on by default?
llvm-project/llvm/CMakeLists.txt
Line 849 in 89e32ac
option(LLVM_BUILD_UTILS |
#157944 adds an install test. Also yes the first two are on by default but I thought it better to be explicit. |
What happens to that test if |
The test already currently depends on targets for https://github.com/llvm/llvm-project/blob/main/mlir/examples/standalone/test/CMakeLists.txt#L13 So it fails to configure successfully when run against a distro that doesn't have those targets (ie what can currently be installed by the monolithic scripts). |
So the test will fail if |
Yes that's correct. |
So this will break everyone who sets |
What is That test in the follow-up PR won't break anyone because it will only run in CI here (it's discussed in the PR description). |
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.
What is this? This PR doesn't break anything/anyone because it's NFC because as nikita mentioned, currently monolithic doesn't actually install anything.
This as in the test that gets added. I'm pretty strongly opposed to a test that only runs in premerge. The test needs to be easily reproducible locally without a bunch of subtle undocumented CMake requirements.
There is no test added in this PR - this PR is completely NFC (it's been explained twice). The other PR is in draft and not finished. You're free to comment on that PR when it's ready for review but these two PRs are fundamentally orthogonal. |
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.
There is no test added in this PR - this PR is completely NFC (it's been explained twice). The other PR is in draft and not finished. You're free to comment on that PR when it's ready for review but these two PRs are fundamentally orthogonal.
How are these orthogonal? The only reason to land this PR is for #157944.
Because the other PR isn't finished and I'm going to refactor it to use an explicit CMake configure arg instead of an env variable but I will still need this change. |
I'll look at this again when the other patch is ready. |
FYI I don't see how you can keep blocking this change - the facts are
Note, you're free to not approve it - that's fine. But you have no basis for blocking. |
I'm sorry is it somewhere in the charter/rules/guidelines that that's how we're doing PRs now? Typically, quite the opposite occurs - orthogonal changes are requested to be factored out and landed separately when they're independent. |
The thing is that this PR just doesn't make any sense in isolation. It it needed if and only if the other PR lands. If the other PR does not get approved, then this PR just leaves us with a bunch of unnecessary and confusing options in the CI config. I don't think there is much point in splitting out this change, this can just be folded into the other PR and reviewed as part of it. |
I don't have the relevant context to know if this patch makes sense because the only thing that depends on this functionality is not yet ready for review.
It's marked as a draft and you explicitly told another reviewer
Patches don't exist in isolation. There is context surrounding them. I think it is reasonable to request that the context is available and ready to be looked at before reviewing a change. Sure, "orthogonal" changes should be factored out when separable, but these changes still don't exist in a vacuum. |
86c4f7f
to
ca36022
Compare
closing because folded into #157944 |
This PR adds
*_UTILS
to the monolithic scripts so that follow-up PRs can use utils in install flow tests.