Framework: Trilinos Installation Testing #7383
Labels
Framework tasks
Framework tasks (used internally by Framework team)
PA: Framework
Issues that fall under the Trilinos Framework Product Area
priority: Deferred
Marks an issue as deferred to a later time.
type: enhancement
Issue is an enhancement, not a bug
Milestone
@trilinos/framework
This is a top-level tracking issue for Trilinos installation testing. This topic has been posted a few times before but it keeps getting down prioritized... but we also haven't really ever broken the overall task into sub-tasks that may be easier to work on and track.
Tasks
This is an initial broad-brush list of tasks that I think we probably need for this. It will surely evolve over time.
Details
Add Installation Testing Support to CMake
Most of the infrastructure should already be in place. See https://github.com/TriBITSPub/TriBITS/tree/5027-enable-installation-testing for more information on this. With luck, we just need to verify that installation testing works w/in TriBiTS.
We may need to re-learn what we need to do to use this and there may be some modifications necessary in the CMakeLists.txt files in Trilinos packages to make everything work properly.
Modify PR Driver Scripts
There are two sequences that we will generally need to support:
Install Trilinos
Test Installed Trilinos
Develop Jenkins jobs to Perform Installation Tests
We'll need to create the necessary Jenkins infrastructure to run these test
sequences. Without getting too far down into the weeds, I see two main ways we might implement this on our Jenkins server...
Single Jenkins Job w/ 2 Stages
This may be the simplest one to do from a Jenkins perspective since everything
is in a single self-contained Jenkins job.
Two Jenkins Jobs, triggered in sequence
This will be more complicated because:
trilinos-any
tag.This approach could offer some additional optimizations that we don't currently have in our testing though since notionally we should need fewer cores to run the tests than we do to build Trilinos. It may be easier to schedule the test phase than it is for the build phase.
Passing the 'installed' Trilinos from one job to another may be tricky. I think we can do it via 'artifacts' in Jenkins, but I haven't tested it personally yet.
Verify Proper CDash Reporting
CDash may track these properly but we'll need to verify once we have Jenkins jobs working that results get reported to CDash in some reasonable manner that's traceable.
Add Packages to Installation Testing
This is probably the big task once all the infrastructure is in place. We will initially start with just one package to build out the infrastructutre. I would recommend using Teuchos for this.
Once the infrastructure is in place, we'll need to pull in packages one by one and make sure they are doing the right thing in each phase:
Related Issues
The following issues look related to this topic. We may be able to close out some of them if they're superseded by this. Linking to them from here so they can be easily found (and closed when we get installation testing up and running).
FYI @jwillenbring
The text was updated successfully, but these errors were encountered: