TriBITS icon indicating copy to clipboard operation
TriBITS copied to clipboard

Add option to strip out email addresses for package regression emails

Open bartlettroscoe opened this issue 9 years ago • 1 comments

This story is to add an option to TriBITS that will skip assigning email addresses for package regression emails. The driving use case is that there is a contractor for Trilinos that needs to be able to submit results to their internal CDash site but they don't want the submit to create new dummy CDash accounts (which is how Kitware implemented the email regression capability with the uploaded CDashSubprojects.xml file).

The following change was confirmed to work in submitting Trilinos configure, build, and test results to a recent version of CDash but not trying to create any CDash accounts in the process:

diff --git a/cmake/tribits/ci_support/TribitsDependencies.py b/cmake/tribits/ci_support/TribitsDependencies.py
index 8d6cc40..bbfc03d 100644
--- a/cmake/tribits/ci_support/TribitsDependencies.py
+++ b/cmake/tribits/ci_support/TribitsDependencies.py
@@ -554,11 +554,6 @@ class TribitsDependencies:
       if packageDeps.parentPackage == "":

         xmlText += ("  <SubProject name=\""+packageName+"\">\n")
-  
-        xmlText += \
-          "    <EmailAddresses>\n"+\
-          "      <Email address=\""+packageDeps.emailAddresses.regression+"\"/>\n"+\
-          "    </EmailAddresses>\n"

         xmlText += ("  </SubProject>\n")

I just need to add a CMake var called something like ${PROJECT_NAME}_SKIP_EMAIL_REGRESSION_EMAIL_LIST that can be set to ON that will suppress setting the email list. This could be processed right in the CMake code that generates the <Project>Dependencies.xml file or it could only be processed in TribitsCTestDriverCore.cmake file that calls the python script that creates the CDashSubprojects.xml file from the <Project>Dependencies.xml file. I am thinking it might be better to put this into TriBITS proper to strip out the email addresses right from the <Project>Dependencies.xml file since a project should not be required to generate regression email addresses in this way. Instead, a project can manually create CDash accounts and then these accounts can sign up for what emails they want to see.

bartlettroscoe avatar Aug 17 '16 22:08 bartlettroscoe

Given that we are moving to a process where a Python script is used to scrape data off of CDash and then report it (see trilinos/Trilinos#2933), it would be good to add this option and strip this out. In fact, I am questioning if it is even useful going forward to let CDash send email in the way that it does now. It would be much better of CDash gave us hooks to call arbitrary scripts (in a git repos) once a build finished posting to CDash. I should add that as a Kitware backlog item.

bartlettroscoe avatar Jan 19 '19 16:01 bartlettroscoe