-
Notifications
You must be signed in to change notification settings - Fork 61
Documentation: Doxygen wf #1854
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
base: main
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1854 +/- ##
=======================================
Coverage 75.66% 75.66%
=======================================
Files 105 105
Lines 18646 18646
=======================================
Hits 14109 14109
Misses 4537 4537 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
|
||
| jobs: | ||
| update_dev_doc: | ||
| runs-on: ubuntu-latest |
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 can use the container to have the dependencies pre-installed
| runs-on: ubuntu-latest | |
| runs-on: ubuntu-latest | |
| container: dlramr/t8code-ubuntu:t8-dependencies |
| # This github CI script runs on every push or merged pr on the main branch. | ||
| # It generates the doxygen documentation of the main branch and uploads it | ||
| # to the t8code website |
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 github CI script runs on every push or merged pr on the main branch. | |
| # It generates the doxygen documentation of the main branch and uploads it | |
| # to the t8code website | |
| # This github CI script runs on every push on a feature branch and in the merge queue. | |
| # It checks if the doxygen documentation can be built without errors and warnings. |
.github/workflows/check_doxygen.yml
Outdated
| run: cd build && cd doc && doxygen Doxyfile >> output 2>&1 | ||
| - name: check for doxygen warnings | ||
| run: | | ||
| if grep -i warning build/doc/output; then | ||
| echo "Doxygen warnings found!" | ||
| exit 1 | ||
| else | ||
| echo "No doxygen warnings found." | ||
| fi |
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 can pipe the error output into a separate file and then check if the file is empty. If not, there are warnings/errors. Afterwards we can just upload the error file and it contains only the relevant output.
| run: cd build && cd doc && doxygen Doxyfile >> output 2>&1 | |
| - name: check for doxygen warnings | |
| run: | | |
| if grep -i warning build/doc/output; then | |
| echo "Doxygen warnings found!" | |
| exit 1 | |
| else | |
| echo "No doxygen warnings found." | |
| fi | |
| run: cd build && cd doc && doxygen Doxyfile >> doxygen.out 2> doxygen.err | |
| - name: check for doxygen warnings | |
| run: | | |
| if [ ! -s build/doc/doxygen.err ]; then | |
| echo "Doxygen warnings found!" | |
| exit 1 | |
| else | |
| echo "No doxygen warnings found." | |
| fi |
| name: doxygen-output | ||
| path: doc/output |
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.
path missed build/ and as already mentioned we can just upload the errors
| name: doxygen-output | |
| path: doc/output | |
| name: doxygen-errors | |
| path: build/doc/doxygen.err |
| - name: Install doxygen | ||
| run: sudo apt-get install doxygen-latex | ||
| - name: Configure for documentation only | ||
| run: mkdir build && cd build && cmake ../ -DT8CODE_BUILD_DOCUMENTATION=ON -DT8CODE_ENABLE_MPI=OFF |
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.
In the container we can build the documentation with the dependencies. We can also build in debug to also check if the debug functions all have their documentation. MPI can also be enabled here, but I do not know if we have functions which are just documented when building with MPI. But it can also not hurt.
| run: mkdir build && cd build && cmake ../ -DT8CODE_BUILD_DOCUMENTATION=ON -DT8CODE_ENABLE_MPI=OFF | |
| run: mkdir build && cd build && cmake ../ \ | |
| -DT8CODE_BUILD_DOCUMENTATION=ON \ | |
| -DCMAKE_BUILD_TYPE=Debug \ | |
| -DT8CODE_ENABLE_VTK=ON -DVTK_DIR=/usr/local/lib/cmake/vtk-9.1 \ | |
| -DT8CODE_ENABLE_OCC=ON \ | |
| -DT8CODE_ENABLE_NETCDF=ON |
| on: | ||
| workflow_call: | ||
|
|
||
| # Allows you to run this workflow manually from the Actions tab |
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.
| # Allows you to run this workflow manually from the Actions tab | |
| # Allows you to run this workflow manually from the actions tab |
.github/workflows/check_doxygen.yml
Outdated
| run: sudo apt-get update && sudo apt-get upgrade -y | ||
| # This step is necessary to get the newest package data | ||
| - name: Install zlib | ||
| run: sudo apt-get install libz-dev | ||
| - name: Install doxygen | ||
| run: sudo apt-get install doxygen-latex |
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.
If we run in the container we do not need this
| run: sudo apt-get update && sudo apt-get upgrade -y | |
| # This step is necessary to get the newest package data | |
| - name: Install zlib | |
| run: sudo apt-get install libz-dev | |
| - name: Install doxygen | |
| run: sudo apt-get install doxygen-latex | |
| run: sudo apt-get update && sudo apt-get upgrade -y |
Closes #1853
changes the update_doxygen workflow to a workflow that checks the output of doxygen for any warnings and fails if there are any.
All these boxes must be checked by the AUTHOR before requesting review:
Documentation:,Bugfix:,Feature:,Improvement:orOther:.All these boxes must be checked by the REVIEWERS before merging the pull request:
As a reviewer please read through all the code lines and make sure that the code is fully understood, bug free, well-documented and well-structured.
General
Tests
If the Pull request introduces code that is not covered by the github action (for example coupling with a new library):
Scripts and Wiki
script/find_all_source_files.scpto check the indentation of these files.License
doc/(or already has one).