-
Notifications
You must be signed in to change notification settings - Fork 572
Reproducing PR Testing Errors
Note: these steps assume that the system you will be running on has been setup with the proper modules, meets the hardware requirements, and has access to the various git repositories needed for configuration.
-
Identify the first build which failed by navigating to the most recent CDash link posted by the AutoTester:
-
Record the build name, either from https://github.com/trilinos/Trilinos/wiki/Pull-Request-Testing-Interface or from the pull down menu in the failing PR:
This will be needed in step 8 below.
-
On CDash, identify the build of interest and navigate to the files uploaded within the build by clicking the tan box:
In particular, later on you'll need
packageEnables.cmake
.Important: If you do not have access to CDash, please ask someone with access to gather the information you need.
For the remaining steps, $TRILINOS_BUILD
denotes the absolute path to your local Trilinos build directory, and $TRILINOS_SRC
denotes the absolute path to your local Trilinos source directory.
git 2.29.0 or later is required.
-
mkdir $TRILINOS_BUILD
-
Download
packageEnables.cmake
(identified in step 2) to $TRILINOS_BUILD -
Checkout the correct commit of Trilinos:
cd $TRILINOS_SRC git checkout --track origin/<BRANCH> git pull git merge origin/develop
where
<BRANCH>
is the source branch of your GitHub PR. -
Fetch GenConfig and ini files.
Important: Ensure your SSH public key is added to gitlab-ex.sandia.gov and cee-gitlab.sandia.gov before running
get_dependencies.sh
.-
To test on an SRN machine:
cd $TRILINOS_SRC ./packages/framework/get_dependencies.sh --srn
-
To test on an SON machine:
cd $TRILINOS_SRC ./packages/framework/get_dependencies.sh --son
-
To use public ini files in
$TRILINOS_SRC/packages/framework/ini-files
:cd $TRILINOS_SRC ./packages/framework/get_dependencies.sh
-
-
Setup the environment and configuration:
cd $TRILINOS_BUILD source $TRILINOS_SRC/packages/framework/GenConfig/gen-config.sh --cmake-fragment gen-config.cmake <BUILD_NAME> $TRILINOS_SRC
where
<BUILD_NAME>
is the build name from Step 2 above.Important: If you're encountering a configuration failure, please go to step 12 below.
-
Enable the correct Trilinos packages:
cd $TRILINOS_BUILD rm -rf CMake* && cmake -G Ninja -C packageEnables.cmake -C gen-config.cmake $TRILINOS_SRC
NOTE: See step 4 above for how to acquire
packageEnables.cmake
-
Build and test Trilinos.
ninja -j <X> ctest -R <TEST_NAME>
where
<X>
is the number of threads and<TEST_NAME>
is a regular expression capturing the tests you're interested in reproducing. -
Verify that the test is failing the same way as reported via CDash.
- Update the Trilinos source code and repeat step 9 (or step 8 if you're encountering a configuration failure) until you're satisfied with the results.
- Commit your changes and push them to
<BRANCH>
so the AutoTester can confirm that you have fixed the pull request build.
Copyright © Trilinos a Series of LF Projects, LLC
For web site terms of use, trademark policy and other project policies please see https://lfprojects.org.
Trilinos Developer Home
Trilinos Package Owners
Policies
New Developers
Trilinos PR/CR
Productivity++
Support Policy
Test Dashboard Policy
Testing Policy
Managing Issues
New Issue Quick Ref
Handling Stale Issues and Pull Requests
Release Notes
Software Quality Plan
Compiler Warnings/Errors
Proposing a New Package
Guidance on Copyrights and Licenses
Tools
CMake
Doxygen
git
GitHub Notifications
Mail lists
Clang-format
Version Control
Initial git setup
'feature'/'develop'/'master' (cheatsheet)
Simple centralized workflow
Building
SEMS Dev Env
Mac OS X
ATDM Platforms
Containers
Development Tips
Automated Workflows
Testing
Test Harness
Pull Request Testing
Submitting a Pull Request
Pull Request Workflow
Reproducing PR Errors
Addressing Test Failures
Trilinos Status Table Archive
Pre-push (Checkin) Testing
Remote pull/test/push
PR Creation & Approval Guidelines for Tpetra, Ifpack2, and MueLu Developers