-
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:
- On CDash, identify the build of interest and navigate to the files uploaded within the build by clicking the tan box:
Important: If you do not have access to CDash, please ask someone with access to gather the information you need.
-
Download
packageEnables.cmake
and copy it to a suitable machine.Note: there is a hostname listed at "Site: " at the top of the cdash
viewFiles.php
page.
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.
-
mkdir $TRILINOS_BUILD
-
Copy
packageEnables.cmake
from Step 3 to$TRILINOS_BUILD
. -
Checkout the correct commit of Trilinos:
cd $TRILINOS_SRC git checkout <BRANCH>
where
<BRANCH>
is the source branch of your GitHub PR.Important: Ensure that your source branch is up-to-date via
git pull
. -
Merge the tip of
develop
into your source branchgit merge upstream/develop
-
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
.cd /path/to/Trilinos module load git git --version git version 2.29.0
-
To use SRN ini files in
$TRILINOS_SRC/packages/framework/srn-ini-files
:./packages/framework/get_dependencies.sh --srn
-
To use SON ini files in
$TRILINOS_SRC/packages/framework/son-ini-files
:./packages/framework/get_dependencies.sh --son
-
To use public ini files in
$TRILINOS_SRC/packages/framework/ini-files
:./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 https://github.com/trilinos/Trilinos/wiki/Pull-Request-Testing-Interface.Important: If you're encountering a configuration failure, please go to step 11 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 3 above for how to acquire
packageEnables.cmake
-
Build and test Trilinos.
Important: If appropriate, follow the system instructions (typically in
/opt/*_INTRO
) for acquiring a compute node before runningmake
andctest
.make NP=<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.Note: please respect multi-tenant systems and ensure X does not oversubscribe the system.
-
Verify that the test is failing the same way as reported via CDash.
- Update the Trilinos source code and repeat step 10 (or step 9 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