-
Notifications
You must be signed in to change notification settings - Fork 127
Adapt LLVM_ENABLE_RUNTIMES change for Doxygen documentation builders #716
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
boomanaiden154
left a comment
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 seems fine to me. But someone with access to as-worker-4 also needs to approve.
| ShellCommand( | ||
| name="Publish {}".format(project or target), | ||
| description=[ | ||
| "Publish", "just", "built", "documentation", "for", |
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.
Why do all the words here need to be separate strings?
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 don't think they need to, but I am avoiding changes from the template
llvm-zorg/zorg/buildbot/builders/DoxygenDocsBuilder.py
Lines 104 to 107 in 617ab43
| description=[ | |
| "Publish", "just", "built", "documentation", "for", | |
| "{}".format(project or target) | |
| ], |
without reason
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.
Because buildbot takes care of the formatting like new lines, truncations and alike.
@gkistanova Please review |
andreil99
left a comment
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.
Thanks for the effort, Michael.
We do not plan to run multiple doxygen builders on that host. So, this patch would not go as is. Sorry for this.
If you can make sure that openmp doxygen docs get built with LLVM_ENABLE_RUNTIMES and ninja doxygen that would help a lot. I'll take it from there and will change the builder accordingly.
|
@Meinersbur What Andrei said. To unblock you I temporarily removed openmp from the doxygen builder. Could you follow up with Andrei when everything is ready to build doxygen after the migration is done, please? |
|
Why is multiple sphinx builders OK, but not doxygen? (out of curiosity, not complaining) I could make something like if (TARGET doxygen-openmp) # doxygen-openmp forwarded by llvm_ExternalProject_Add
add_dependencies(doxygen doxygen-openmp)
endif ()But this sticks out because e.g. the sphinx target does not work this way. I am preparing a PR anyway. @gkistanova Thanks for the unblocking |
When LLVM_ENABLE_DOXYGEN=ON, forward the `doxygen-openmp` build target from the nested (default target) runtimes build. When LLVM_BUILD_DOCS=ON, also trigger `doxygen-build` with `ninja doxygen`. LLVM_INCLUDE_DOCS=ON is required in the runtimes build, which is the default. This is required to update the OpenMP doxygen documentation at https://openmp.llvm.org/doxygen by the publish-doxygen-docs buidbot, discussed here: llvm/llvm-zorg#716 (review)
When LLVM_ENABLE_DOXYGEN=ON, forward the `doxygen-openmp` build target from the nested (default target) runtimes build. When LLVM_BUILD_DOCS=ON, also trigger `doxygen-build` with `ninja doxygen`. LLVM_INCLUDE_DOCS=ON is required in the runtimes build, which is the default. This is required to update the OpenMP doxygen documentation at https://openmp.llvm.org/doxygen by the publish-doxygen-docs buidbot, discussed here: llvm/llvm-zorg#716 (review)
|
@andreil99 Requested change has landed: llvm/llvm-project#178298. You are going to make the llvm-zorg changes? Note that by how the LLVM doxygen build works, you must define Since it needs to run |
|
@Meinersbur Thanks, Michael. I'll take it from there. |
Sphinx build is relatively fast and lightweight. Doxygen is quite the opposite. It is Ok to have Sphinx and Doxygen simultaneously building, but two Doxygen builds is too much. Serializing all the builds would significantly delay Sphinx build results. |
When LLVM_ENABLE_DOXYGEN=ON, forward the `doxygen-openmp` build target from the nested (default target) runtimes build. When LLVM_BUILD_DOCS=ON, also trigger `doxygen-build` with `ninja doxygen`. LLVM_INCLUDE_DOCS=ON is required in the runtimes build, which is the default. This is required to update the OpenMP doxygen documentation at https://openmp.llvm.org/doxygen by the publish-doxygen-docs buidbot, discussed here: llvm/llvm-zorg#716 (review)
|
Closing this PR since @andreil99 is going to fix the OpenMP doxygen builder |

The builder publish-doxygen-docs uses LLVM_ENABLE_PROJECT=openmp to build the doxygen documention. This build mode is scheduled to be removed in llvm/llvm-project#176950. Introduce a new builder publish-runtimes-doxygen-docs which uses LLVM_ENABLE_RUNTIMES=openmp instead.
In contrast to publish-sphinx-docs, there is no support yet for building doxygen documentation of a runtimes project. Support in llvm-project was added in llvm/llvm-project#176948. For llvm-zorg, this PR replicates the same approach as a5243cf: Create new publish-runtimes-doxygen-docs builder that builds the runtimes.
I verified this PR -- except the rsync step -- using a private buildbot master and worker (as-worker-4) instance.