-
Notifications
You must be signed in to change notification settings - Fork 116
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* Create check_methoddoc_gen.yaml (#19879) * fix formatting
- Loading branch information
1 parent
da91e8c
commit 70232bf
Showing
3 changed files
with
109 additions
and
23 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
name: Check sync of functions.rst and MethodDoc.C | ||
|
||
# | ||
# See documentation at bottom of file | ||
# | ||
|
||
on: | ||
pull_request: | ||
paths: | ||
- 'src/doc/python_scripting/functions.rst' | ||
- 'src/visitpy/common/MethodDoc.C' | ||
|
||
jobs: | ||
check-sync: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.9' | ||
|
||
- name: Checkout code | ||
uses: actions/checkout@v2 | ||
|
||
- name: Get Changed Files (for PRs) | ||
id: changed-files | ||
uses: tj-actions/changed-files@v42 | ||
with: | ||
separator: ' ' | ||
|
||
- name: Check synced files | ||
run: | | ||
have_func_rst=0 | ||
have_methdoc_c=0 | ||
for f in ${{ steps.changed-files.outputs.all_changed_files }}; do | ||
if [ "$f" = "src/doc/python_scripting/functions.rst" ]; then | ||
have_func_rst=1 | ||
elif [ "$f" = "src/visitpy/common/MethodDoc.C" ]; then | ||
have_methdoc_c=1 | ||
fi | ||
done | ||
if [[ $have_func_rst -ne $have_methdoc_c ]]; then | ||
echo "Error: MethodDoc.C (and possibly MethodDoc.h) should be regenerated from functions.rst" | ||
echo " Please follow https://visit-sphinx-github-user-manual.readthedocs.io/en/develop/dev_manual/UpdatingPythonDocStrings.html" | ||
exit 1 | ||
fi | ||
- name: Check Generated MethodDoc.C | ||
run: | | ||
cp src/visitpy/common/MethodDoc.C src/visitpy/common/MethodDoc.C.orig | ||
pushd src/doc | ||
./functions_to_plain_py.py | ||
2to3 -p PY_RST_FUNCTIONS_TO_PYTHON.py | ||
./functions_to_method_doc.py | ||
popd | ||
diff src/visitpy/common/MethodDoc.C src/visitpy/common/MethodDoc.C.orig | ||
if [ $? -ne 0 ]; then | ||
echo "Error: MethodDoc.C does not appear to have been generated from functions.rst" | ||
echo " Please follow https://visit-sphinx-github-user-manual.readthedocs.io/en/develop/dev_manual/UpdatingPythonDocStrings.html" | ||
exit 1 | ||
fi | ||
# | ||
# Documentation of this action | ||
# | ||
# This action is designed to catch cases where developers make inconsistent changes to | ||
# functions.rst and MethodDoc.C. MethodDoc.C is ordinarily *generated* from functions.rst | ||
# So, developers should just edit functions.rst and then follow the documentation | ||
# https://visit-sphinx-github-user-manual.readthedocs.io/en/develop/dev_manual/UpdatingPythonDocStrings.html | ||
# to regenerate MethodDoc.C. | ||
# | ||
# The logic in this action only gets triggered if any of the files listed as `path` members of | ||
# `the pull_request` action are involved. Next, if any those files are involved, it then examines | ||
# the list of ALL changed files in the PR to check if functions.rst is invovled and if MethodDoc.C | ||
# is involved. | ||
# | ||
# If either one or the other is involved but not both, it fails with an error message. | ||
# | ||
# If both are involved, it then tries to perform the MethodDoc.C generation and confirm the | ||
# result is what is being committed. If not, it fails also. | ||
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters