-
Notifications
You must be signed in to change notification settings - Fork 10.5k
build-script: support CMake install steps. #25184
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
Currently, bots that perfrom an installation will build LLDB once using CMake because that is the default and then again using Xcode because the CMake install step is not implemented by build-script. This patch adds CMake support by calling the generic cmake install-lldb step. <rdar://problem/51317901>
@swift-ci test package |
@swift-ci test |
We should also pull this into |
Build failed |
Build failed |
case ${host} in | ||
linux-*) | ||
if [[ "$using_xcodebuild" == "TRUE" ]] ; then | ||
case ${host} in |
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 think that it will be easier to read this as:
if [[ ${host} == macosx-* ]] ; then
set_lldb_xcodebuild_options
set_lldb_build_mode
with_pushd ...
continue
fi
At that point, you can even collapse the conditions into:
if [[ ${host} == macosx-* && ${using_xcodebuild} == TRUE ]] ; then
utils/build-script-impl
Outdated
esac | ||
esac | ||
else | ||
INSTALL_TARGETS="install-lldb" |
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 assume you tested cmake install-lldb
? If it works, then let's do this. My upstreaming progress is slow, but I can check this in more detail soon.
@swift-ci test |
Build failed |
|
@swift-ci test |
Build failed |
Since Adrian is out, and this is causing problems on the bots, I'll pick this up (cc: @shahmishal) |
Of course the log is too old and it's gone. Let's try to run this again and see why it fails. |
@swift-ci test |
Build failed |
Build failed |
@swift-ci test |
Trying again now that Andy merged his PR. |
Build failed |
I'll try to reproduce on a linux machine. |
This is the real issue
@aciidb0mb3r / @benlangmuir / @akyrtzi is this something you're aware of? |
This is not a build failure. It's just output from a test in sourcekit-lsp that gets mistakenly picked up by the regexes in Jenkins. You can see below that the test passed. |
here's the actual failure, which is much later during package testing:
|
Hey Ben, thanks for taking a look.
Interesting. I will have a look. |
|
@swift-ci test |
Build failed |
Build failed |
@swift-ci test package |
With my change the PR tests succeed, but the results are.. strange.
The SourceKitLSPPackageTests that printed the pseudo-error Apparently, @dcci @benlangmuir What do you think? Well, at least the goal of the PR is accomplished: LLDB doesn't build twice anymore :) |
utils/build-script-impl
Outdated
@@ -3555,8 +3555,6 @@ for host in "${ALL_HOSTS[@]}"; do | |||
continue | |||
;; | |||
esac | |||
else | |||
INSTALL_TARGETS="install-lldb" |
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.
build-script
is fairly complex so I'm probably missing something here, but ... your review just removes an install target? Where do we actually perform the installation for CMake?
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.
IIUC INSTALL_TARGETS
collects a list of targets that will be installed (don't ask me where). It's is initialized with install
here: https://github.com/apple/swift/blob/2fa436e53e/utils/build-script-impl#L3491 This should be fine for LLDB.
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.
We could go for install-distribution
with apple/swift-lldb#1785
Maybe you were looking only at the tail of the log instead of the full log? I see it in the logs from your PR tests. |
Erm no, but I only checked the macOS one. The Linux PR test is actually correct. |
|
|
Currently, bots that perfrom an installation will build LLDB once using CMake
because that is the default and then again using Xcode because the CMake
install step is not implemented by build-script. This patch adds CMake support
by calling the generic cmake install-lldb step.
rdar://problem/51317901