This is an archive of the discontinued LLVM Phabricator instance.

[debuginfo-tests] Decouple debuginfo-tests from the clang source tree.
ClosedPublic

Authored by zturner on Nov 3 2017, 10:20 AM.

Details

Summary

This is necessary in preparation for future work to debuginfo-tests that makes debuginfo-tests optionally able to make use of lld (if present).

The workflow now is:

  1. In a mono-repo, just set -DLLVM_ENABLE_PROJECTS=debuginfo-tests on CMake and it will work. You can run ninja check-debuginfo.
  1. In a multi-repo, clone debuginfo-tests into llvm/projects, and you can then run ninja check-debuginfo.

Everything else is unchanged. The previous workflow of cloning debuginfo-tests into the clang source tree and running it as part of check-clang is no longer supported. It now alawys has its own target, check-debuginfo.

Diff Detail

Event Timeline

zturner created this revision.Nov 3 2017, 10:20 AM
aprantl requested changes to this revision.Nov 3 2017, 2:17 PM

This change is generally fine, but since this will break the workflow that the green-dragon bots are using where the repository is checked out into llvm/tools/clang/test, we must update the bots at the same time. I think this involves both changes to zorg and the jenkins configuration. I'm marking the review as "request changes" to reflect that.

This revision now requires changes to proceed.Nov 3 2017, 2:17 PM

I'm adding Chris Matthews and Mike Edwards who are maintaining zorg and the jenkins configuration on green dragon to the review, so we can coordinate this.

At Sony we build our own unified tree by pasting together several subtrees, including debuginfo-tests, and moving one will cause a bit of disruption. I remember the idea of moving debuginfo-tests has come up previously, and in principle I have no problem with it, but a more explicit announcement on llvm-dev/cfe-dev would be appropriate.

At Sony we build our own unified tree by pasting together several subtrees, including debuginfo-tests, and moving one will cause a bit of disruption. I remember the idea of moving debuginfo-tests has come up previously, and in principle I have no problem with it, but a more explicit announcement on llvm-dev/cfe-dev would be appropriate.

FWIW, debuginfo-tests is not actually checked out by default. You have to explicitly clone it at a location of your choosing. Before this patch, that location has to be clang/test, and after this patch, it has to be llvm/projects. How are your trees subtrees pasted together, is it something other than a mono-repo layout?

At Sony we build our own unified tree by pasting together several subtrees, including debuginfo-tests, and moving one will cause a bit of disruption. I remember the idea of moving debuginfo-tests has come up previously, and in principle I have no problem with it, but a more explicit announcement on llvm-dev/cfe-dev would be appropriate.

FWIW, debuginfo-tests is not actually checked out by default. You have to explicitly clone it at a location of your choosing. Before this patch, that location has to be clang/test, and after this patch, it has to be llvm/projects. How are your trees subtrees pasted together, is it something other than a mono-repo layout?

Yes, it's a homegrown unified tree with maybe a half-dozen projects and other internal cruft, done with subtree merges. Our internal tree does include debuginfo-tests. The upstream mono-repo didn't exist yet when we did this.

We can cope with what you're doing, but with the cmake changes not supporting debuginfo-tests in the old location, we'll need to fiddle with some of our automation so it ends up in the correct new place. If you can give us a few days that would be great.

Definitely. I'm in no rush. I'll push out a message to llvm-dev before the day's over.

sqlbyme edited edge metadata.Nov 3 2017, 3:42 PM

I'm fine with the changes being made. We just need to coordinate a date & time for the cutover so we don't set Green Dragon ablaze.

Also, someone needs to look at the buildbot configs. It has been so long since I have looked at those configs I'm not sure which bots on that side will need to be updated (if any).

I'm fine with the changes being made. We just need to coordinate a date & time for the cutover so we don't set Green Dragon ablaze.

Also, someone needs to look at the buildbot configs. It has been so long since I have looked at those configs I'm not sure which bots on that side will need to be updated (if any).

After the discussion on llvm-dev about how this should continue to work in the normal configuration, are there are other blockers for this? Or are we ok to try it out? If it does break anything, I can revert.

This revision was automatically updated to reflect the committed changes.