-
Notifications
You must be signed in to change notification settings - Fork 90
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
Build BOUT++ on RTD #2368
Build BOUT++ on RTD #2368
Conversation
cmake 3.10 (from ubuntu 18.04, used on rtd) is to old for findPython3 ... maybe worth to implement some fallback (naive backport failed) |
CMake is available through pip, so could either be installed manually or added to a |
This adds documentation for the python interface to the docs. [skip ci]
[skip ci]
[skip ci]
Increases the build time from 300..400 to over 600 secs ( 900 is the limit) I rebased to get rid of all the debug commits. I also changed the requirements.txt - which isn't strictly necessary - if they shouldn't be changed I can revert. Thanks @ZedThree for the help 👍 |
os.system("which clang-format") | ||
os.system("which clang-format-6.0") | ||
os.system( | ||
"git clone https://github.com/mpark/variant.git ../../externalpackages/mpark.variant" |
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'm guessing this means RTD doesn't clone the top-level repo so we can't use the submodules?
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.
Yes, I forgot the exact failure but git complained it wouldnt know the url for cloning.
Does this also create any documentation for boutcore? I thought it would appear here, but I don't see it: https://bout-dev--2368.org.readthedocs.build/en/2368/api_reference.html Also, building on RTD does worry me a little bit, partly in terms of the resources used, partly I'm worried it might be fragile, but I'm not sure how else to handle this. Another way might be to have Github Actions generate the docs and commit them as part of one of the builds? I'm not sure what they actually need to generate, and that still has fun engineering challenges. |
The documentation is at: You are right, it should be moved to the API section. I noticed it broke the zoidberg docs:
so I need to add scipy again to the mock models. Further boututils and boutdata should be installed or removed from the docs. That is generated from the python module, which needs to be loaded at run time. I thought about building the python module in GHA and sharing that with RTD, but that would e.g. require the jobs to be run sequantial, and we would need to have the correct libraries installed on RTD, which I thought would be more stable. Alternatively I thought about building all the docs on GHA, and only publish them using RTD, but that might not be easier. Concerning resources, it doesn't even quite double the execution time. I was surprised how fast that was, and we are still below the limit for the free account ... |
Now that I think about it, compiling all the tests probably more than doubles the compilation time, so I guess it's not too bad. Let's go with this solution rather than trying to create something more complicated with more moving parts. Really we need some overarching, joined up solution for the documentation for all the BOUT++ projects, but for now maybe just restore the mocking how it was. |
clang-tidy review says "All clean, LGTM! 👍" |
[skip ci]
[skip ci]
[skip ci]
[skip ci]
[skip ci]
Also restrict other version, so the dependency resolver doesn't install dozens of packages to find a matching one. [skip ci]
I'm going to merge this now, as RTD is currently failing due to the Sphinx/Breathe issues, but the boutcore docs could do with a little polish, e.g. https://bout-dev--2368.org.readthedocs.build/en/2368/_apidoc/boutcore.html#boutcore.PhysicsModel The boutcore API docs page is also really big without much structure -- I'm not sure what can be done, but that can happen in a future PR |
No description provided.