There are other projects that can affect build of opnemp, libcxx for example.
Desire to have each commit trigger a buildbot.
Details
Diff Detail
- Repository
- rZORG LLVM Github Zorg
Event Timeline
I don't understand how does this configuration depend on libcxx, or any other project for that matter?
Shared cmake iiuc. Does dropping the depend list mean build on any change to anything? In favour if so
i think the original intent was to limit what triggered the buildbot to just llvm, lld, clang, and openmp projects.
Yesterday we observed that changes specific to libcxx did not trigger a buildbot , rather it just rolled into a subsequent commit that did trigger a buildbot which failed.
Our desire is to fire a bot per commit for clarity. The current way we are structuring the depends creates a bit of confusion as to what patch may have caused a failure.
FYI: The patch that broke us, and Kruse's bot as well, is
407e07aa67ab [runtimes] Set more paths when building runtimes standalone
which was later reverted by Leonard Chan.
FYI: The revert also did not trigger a buildbot.
Bit of history:
The clause depends_on_projects was suggested in review of the original patch to implement a builder for amdgpu.
we added that, and tried to model ours closely to MKruse's "openmp-offload-cuda-project" and "openmp-offload-cuda-runtime".
Note: Neither of the cuda builders for openmp specify depends_on_projects
I think originally, depends_on_projects existed before LLVM was a monorepository so these were the projects to be checked out. Since moving to the monorepository, depends_on_projects is used for the LLVM_ENABLE_PROJECTS argument, as well as a repository filter.
The getOpenMPCMakeBuildFactory by default uses llvm, clang and openmp as a minimum. Thus removing depends_on_projects only has an effect that lld is not considered anymore. The original patch D106928 uses LLVM_ENABLE_PROJECTS in extraCmakeArgs, which is in conflict the same parameter getOpenMPCMakeBuildFactory set as well. Therefore, I suggested to use depends_on_projects instead. Because it seems they want to use LLVM's own lld and therefore need to enable it. Somehow D107716 removed openmp as a dependent project, which would have cause such that OpenMP changes does not trigger a rebuild.
The CUDA OpenMP buildbots use a pre-installed lld instead (LLVM_ENABLE_LLD), no need to add lld as a dependent project.
rG407e07aa67ab56c92cdec1fdbf6b121afbceddaf changed the runtimes top-level directory that does not belong to any subproject, which is why it did not trigger a rebuild. If you goal is to trigger a build on any commit, this patch doesn't do that. Also consider that if it actually did that, it would also trigger a rebuild on any commit to the repository, such as flang, mlir, lldb, ...