-
Notifications
You must be signed in to change notification settings - Fork 564
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
Framework: Prohibit MPI_COMM_WORLD usages #12111
Conversation
…4_175808 Automatically Merged using Trilinos Master Merge AutoTester PR Title: Trilinos Master Merge PR Generator: Auto PR created to promote from master_merge_20230804_175808 branch to master PR Author: trilinos-autotester
You seem to have created a PR on master. This is not allowed behavior, so we've blocked your PR. Please switch your PR to target the develop branch and remove the AT: WIP label. |
@ccober6 @jwillenbring I think this PR does what we were discussing with respect to MPI_COMM_WORLD |
Hi @sebrowne , in discussion with @ccober6 and @jwillenbring, I suggest that the workflow here NexGenAnalytics#73 might be useful.
@JacobDomagala has said that he could put up a PR to trilinos/develop, or if you prefer Sam, to incorporate the workflow in your PR here. |
I'm perfectly happy with the other approach. @ccober6 voiced concern over per-file vs. per-line. If Trilinos leadership is okay with this action premise, I'm on-board with adding this to the main repository. |
That does assume that all work is targeting develop, which is probably the most frequent case. Do we still want to add a ctest test that calls that script then? I can't shake the feeling that that is not right. Do people normally add tests for clang-format, include-what-you-use, etc? Every software project I've been a part of does that through hook-based approaches or separate CI checks from the main tests. |
Typically, it is a git commit hook to run clang-format checks and the such.
Right, but Trilinos developers have objected to mandatory git commit hooks. In my view, running these checks along with other tests with CTest is a reasonable compromise if developers are not willing to use git commit hooks (which need to be installed and maintained automatically if they are going to be used consistently). |
@stmcgovern, as long as you could specify a different reference version (I call the main Trilinos GitHub repo |
Isn't the compromise that they have to wait on the PR check to run? Meaning, if they don't want to implement user-side hooks, they do not get as immediate of feedback? (What I'm implying is that it's fine to leave the hooks as optional) |
As a general rule of thumb, it should be easy for developers to reproduce locally any automated check enforced on their PR. (They can do that Trilinos PR builds using GenConfig, for example, using some simple driver scripts.) And that is in the best interest of Trilinos too. We don't want Trilinos developers pushing small tweaks to GitHub just to run this check again (and tying up huge computational resources running all of the PR builds again). If one expects developers to use Git hooks, then the project should provide reasonable infrastructure and guidance on how to install those checks. (For example, Trilinos should provide suggested git commit hooks that developers can just install and update.) Personally, I think running more expensive checks as part of the CTest test suite makes more sense. Technically speaking, the Trilinos test suite could also be run as a commit hook but that would really hut productivity. The one type of check that makes the most sense to check at commit time are checks for the commit log message itself like:
I have said my piece. Let's see what the feedback from Developers is like. (It may be a while before someone inserts |
@stmcgovern and @sebrowne, one should note that the tool |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
Oh, that would be helpful to chase down if-guarded blocks of deprecated code slated for removal |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
3 similar comments
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
All Jobs Finished; status = PASSED, However PR is now STALE, and must be retested. Set the AT: RETEST Label to force retest.... |
1 similar comment
All Jobs Finished; status = PASSED, However PR is now STALE, and must be retested. Set the AT: RETEST Label to force retest.... |
Let's go with what we currently have to test out this new Github action. We can return to the additional feature that @bartlettroscoe suggested at a later date. This meets the current requirements and priority, and reassess the new feature. Thanks, @ccober6 and @jwillenbring |
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.
lgtm
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-8.3.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-8.3.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-11.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-2021.3
Jenkins Parameters
Using Repos:
Pull Request Author: sebrowne |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: Trilinos_PR_gcc-8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-8.3.0-serial
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_gcc-8.3.0-debug
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_clang-11.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_cuda-11.4.2-uvm-off
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_intel-2021.3
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ ccober6 ]! |
Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged |
Merge on Pull Request# 12111: IS A SUCCESS - Pull Request successfully merged |
Disallow MPI_COMM_WORLD in new/changed code unless a specific comment identifier is added.
Motivation
Helps clean up usages of MPI_COMM_WORLD.