-
Notifications
You must be signed in to change notification settings - Fork 578
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
How to enable all downstream packages in nightly dashboard testing #5771
Comments
@rppawlo Thanks, Roger! |
The options given in the tribits link result in a test that has no tests run. Here are the results. Here is the relevant part of the Tpetra driver script. @trilinos/framework Any other ideas? INCLUDE("${CTEST_SCRIPT_DIRECTORY}/TrilinosCTestDriverCore.rocketman.gcc.cmake")
#
# Set the options specific to this build case
#
# The variable BUILD_DIR_NAME is based COMM_TYPE, BUILD_TYPE, and BUILD_NAME_DETAILS.
# Tribits creates the variable listed under "Build Name" by prepending the OS type and compiler
# details to BUILD_DIR_NAME.
SET(COMM_TYPE MPI)
SET(BUILD_TYPE RELEASE)
SET(BUILD_NAME_DETAILS TPETRA_DEPRECATED_CODE_OFF_ENABLE_DOWNSTREAM)
SET(CTEST_PARALLEL_LEVEL 8)
SET(CTEST_TEST_TYPE Experimental)
SET(Trilinos_TRACK Experimental) # Set the CDash track to Nightly
SET(CTEST_TEST_TIMEOUT 14400) # twice the default value, for valgrind
SET(CTEST_DO_MEMORY_TESTING FALSE)
SET(Trilinos_PACKAGES Tpetra)
SET(EXTRA_CONFIGURE_OPTIONS
"-DTpetra_ENABLE_DEPRECATED_CODE=OFF"
"-DTrilinos_ENABLE_ALL_FORWARD_DEP_PACKAGES=ON"
"-DTrilinos_ENABLE_TESTS=ON"
"-DKOKKOS_ENABLE_DEPRECATED_CODE=OFF"
"-DTrilinos_ENABLE_DEPENDENCY_UNIT_TESTS=OFF"
"-DTrilinos_ENABLE_Epetra:BOOL=OFF"
)
#
# Set the rest of the system-specific options and run the dashboard build/test
#
TRILINOS_SYSTEM_SPECIFIC_CTEST_DRIVER() |
I tried with the option |
I got things working. It turns out I was only looking at the Tpetra subpackage results. When I looked at the results across the entire Trilinos dashboard, I noticed that the Kokkos build was failing. In summary, the options to enable forward packages are
|
I'm explicitly disabling Epetra, yet it is getting reenabled, I suspect by the forward package enable option. @bartlettroscoe @jwillenbring @william76 any ideas why? |
@jhux2 panzer requires epetra - it currently requires both the type I and type II stacks. So if you enable all downstream, it may be forcing this requirement. |
@jhux2 is this still a problem? In PR #5756 Epetra was made an explicit dependency of Panzer so Panzer should be turned off if Epetra is off, even with downstream dependencies enabled. Have you tried setting the options directly, ie SET(Trilinos_ENABLE_ALL_FORWARD_DEP_PACKAGES ON CACHE BOOL "")
SET(Trilinos_ENABLE_Epetra OFF CACHE BOOL "") instead of through |
This always confuses people but you need to set these in the outer ctest -S program. See: You can set those as CTest vars or as env vars. |
@bartlettroscoe The documentation you pointed to is helpful, thanks. I just tested the driver below, which gives these results: https://testing.sandia.gov/cdash/index.php?project=Trilinos&parentid=5524772. There are some errors that the Tpetra team will need to work through. SET(COMM_TYPE MPI)
SET(BUILD_TYPE RELEASE)
SET(BUILD_NAME_DETAILS TPETRA_DEPRECATED_CODE_OFF_ENABLE_DOWNSTREAM)
SET(CTEST_BUILD_FLAGS "-j20 -i" )
SET(CTEST_PARALLEL_LEVEL 8)
SET(CTEST_TEST_TYPE Experimental)
SET(Trilinos_TRACK Experimental) # Set the CDash track to Nightly
SET(CTEST_TEST_TIMEOUT 14400) # twice the default value, for valgrind
SET(CTEST_DO_MEMORY_TESTING FALSE)
SET(Trilinos_PACKAGES Tpetra)
SET(Trilinos_EXCLUDE_PACKAGES Epetra)
SET(EXTRA_CONFIGURE_OPTIONS
"-DTpetra_ENABLE_DEPRECATED_CODE=OFF"
"-DTrilinos_ENABLE_ALL_FORWARD_DEP_PACKAGES=ON"
"-DTrilinos_ENABLE_TESTS=ON"
"-DKOKKOS_ENABLE_DEPRECATED_CODE=OFF"
"-DTrilinos_DISABLE_ENABLED_FORWARD_DEP_PACKAGES=ON"
"-DTPL_ENABLE_Matio=OFF"
"-DTPL_ENABLE_X11=OFF"
"-DTrilinos_ENABLE_Epetra:BOOL=OFF"
"-DTrilinos_ENABLE_Moertel:BOOL=OFF"
"-DTrilinos_ENABLE_PyTrilinos:BOOL=OFF"
"-DTrilinos_ENABLE_Domi:BOOL=OFF"
"-DTrilinos_ENABLE_GlobiPack:BOOL=OFF"
"-DTrilinos_ENABLE_OptiPack:BOOL=OFF"
"-DKokkos_ENABLE_TESTS:BOOL=OFF"
"-DTeuchos_ENABLE_TESTS:BOOL=OFF"
"-DKokkosKernels_ENABLE_TESTS:BOOL=OFF"
)
#
# Set the rest of the system-specific options and run the dashboard build/test
#
TRILINOS_SYSTEM_SPECIFIC_CTEST_DRIVER()
|
@jhux2, You should move
See:
|
@bartlettroscoe Ok, I've made those changes. Looking at the build errors more carefully in the link above, I see that the errors are all in ROL, ShyLU, and TrilinosCouplings examples and/or tests. I was expecting to see tests for other packages that depend on Tpetra, e.g., Belos, Ifpack2 and MueLu. Is there a reason that I don't see any evidence that tests from those packages even built? |
@bartlettroscoe Could you have a look at #5796? |
@jhux2 said:
That is not good. Note the post-post CI server running shown here is set up to enable all downstream packages. We are set up to meet tomorrow but if you could attach the STDOUT from the ctest -S driver script, I should be able to see the logic for what is happening. |
@bartlettroscoe Thanks for your help! He walked me through the relevant parts of the nightly ctest scripts. The downstream testing is now running properly as can be seen here, so I will close this issue. |
The Tpetra team has a specialized build that is tests Trilinos with deprecated code in Tpetra disabled. This build enables just Tpetra and its tests. I would like to create a similar build that enables all downstream packages+tests/examples that depend on Tpetra. Does the Tribits/cmake testing infrastructure have some way of doing this in an automatic fashion, e.g., "-DTrilinos_ENABLE_ALL_DOWNSTREAM_PACKAGES"?
@trilinos/framework @bartlettroscoe
The text was updated successfully, but these errors were encountered: