-
Notifications
You must be signed in to change notification settings - Fork 565
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: Add warnings/errors policy #13427
base: develop
Are you sure you want to change the base?
Conversation
Add capability for switching 'upcoming' warnings/errors on/off. `Trilinos_WARNINGS` will do the following: `WARN` -> Warnings are added to CXX flags, deprecated packages have all warnings disabled `ERROR` -> Warnings-as-errors are added to CXX flags, deprecated packages have all warnings disabled Anything else -> No warnings/errors adde Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
Just rely on warnings/errors apprach for now. Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
Also add ability to pass extra warnings for experimentation. Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
cdc43ce
to
e38553e
Compare
Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
Moved these three warnings (sign-compare, parentheses, unused-variable) into WarningsErrorsPolicy.cmake. Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
I'm about to need the ability to parse an option value, so switching to getopt seems to make sense. Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
We're using '-w', but still nice to make it more explicit that we're not adding warnings for those packages. Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
6fc3f25
to
a75308d
Compare
Can now add a nightly that builds the non-deprecated packages and gives warnings-as-errors. Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
37b3457
to
fb904dc
Compare
Makes the reporting nicer. Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
This way we can get the cache options from a TriBITS-imported cachefile Signed-off-by: Samuel E. Browne <sebrown@sandia.gov>
Nightly dashboard with mode set to |
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: PR_gcc-openmpi-openmp
Jenkins Parameters
Build InformationTest Name: PR_gcc
Jenkins Parameters
Build InformationTest Name: PR_gcc-openmpi_debug
Jenkins Parameters
Build InformationTest Name: PR_clang
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: PR_cuda
Jenkins Parameters
Build InformationTest Name: PR_intel
Jenkins Parameters
Build InformationTest Name: PR_cuda-uvm
Jenkins Parameters
Using Repos:
Pull Request Author: sebrowne |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run. Pull Request Auto Testing has FAILED (click to expand)Build InformationTest Name: PR_gcc-openmpi-openmp
Jenkins Parameters
Build InformationTest Name: PR_gcc
Jenkins Parameters
Build InformationTest Name: PR_gcc-openmpi_debug
Jenkins Parameters
Build InformationTest Name: PR_clang
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: PR_cuda
Jenkins Parameters
Build InformationTest Name: PR_intel
Jenkins Parameters
Build InformationTest Name: PR_cuda-uvm
Jenkins Parameters
|
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: PR_gcc-openmpi-openmp
Jenkins Parameters
Build InformationTest Name: PR_gcc
Jenkins Parameters
Build InformationTest Name: PR_gcc-openmpi_debug
Jenkins Parameters
Build InformationTest Name: PR_clang
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: PR_cuda
Jenkins Parameters
Build InformationTest Name: PR_intel
Jenkins Parameters
Build InformationTest Name: PR_cuda-uvm
Jenkins Parameters
Using Repos:
Pull Request Author: sebrowne |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run. Pull Request Auto Testing has FAILED (click to expand)Build InformationTest Name: PR_gcc-openmpi-openmp
Jenkins Parameters
Build InformationTest Name: PR_gcc
Jenkins Parameters
Build InformationTest Name: PR_gcc-openmpi_debug
Jenkins Parameters
Build InformationTest Name: PR_clang
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: PR_cuda
Jenkins Parameters
Build InformationTest Name: PR_intel
Jenkins Parameters
Build InformationTest Name: PR_cuda-uvm
Jenkins Parameters
|
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: PR_gcc-openmpi-openmp
Jenkins Parameters
Build InformationTest Name: PR_gcc
Jenkins Parameters
Build InformationTest Name: PR_gcc-openmpi_debug
Jenkins Parameters
Build InformationTest Name: PR_clang
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: PR_cuda
Jenkins Parameters
Build InformationTest Name: PR_intel
Jenkins Parameters
Build InformationTest Name: PR_cuda-uvm
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: PR_gcc-openmpi-openmp
Jenkins Parameters
Build InformationTest Name: PR_gcc
Jenkins Parameters
Build InformationTest Name: PR_gcc-openmpi_debug
Jenkins Parameters
Build InformationTest Name: PR_clang
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: PR_cuda
Jenkins Parameters
Build InformationTest Name: PR_intel
Jenkins Parameters
Build InformationTest Name: PR_cuda-uvm
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
@trilinos/framework
Motivation
Trilinos would like to minimize compile warnings for its customers. To that end, we would like to add some "standard" warnings that we can use in PR and nightly testing as we move to reduce occurrences from the codebase. We do not want them to show up by default, but do want them to be easily enabled and easily set to errors.
In addition, there is a list of
promoted_warnings
that are errors even if the mode is set toWARN
, because that way the PR system can be used to both test adding new warnings, and enforcing that the promoted ones are still valid.Related Issues
https://sems-atlassian-son.sandia.gov/jira/browse/TRILFRAME-669
Testing
I tested with the following commands, and the behavior was as expected:
cmake -DTrilinos_ENABLE_Tempus=ON
cmake -DTrilinos_WARNINGS_MODE=WARN -DTrilinos_ENABLE_Tempus=ON
cmake -DTrilinos_WARNINGS_MODE=ERROR -DTrilinos_ENABLE_Tempus=ON
cmake -DTrilinos_WARNINGS_MODE=WARN -DTrilinos_ENABLE_Teuchos=ON -DTeuchos_CXX_FLAGS="myownflaghere"
Depends on #13425 being merged first for cleanliness