Skip to content

Commit

Permalink
Merge Pull Request #9139 from bartlettroscoe/Trilinos/9079-fix-dashbo…
Browse files Browse the repository at this point in the history
…ard-fwd-args-plus

Automatically Merged using Trilinos Pull Request AutoTester
PR Title: Fix passing of vars to 'dashboard' target including 2nd CDash site/location, give default to CTEST_BUILD_NAME (#9079)
PR Author: bartlettroscoe
  • Loading branch information
trilinos-autotester authored May 18, 2021
2 parents c387232 + 27abaa8 commit e3d3a24
Show file tree
Hide file tree
Showing 9 changed files with 234 additions and 120 deletions.
3 changes: 3 additions & 0 deletions cmake/std/atdm/ATDMDevEnvSettings.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -595,6 +595,9 @@ IF (COMMAND INSTALL AND NOT "${CMAKE_INSTALL_PREFIX}" STREQUAL "")

SET( ATDM_BUILD_NAME $ENV{ATDM_CONFIG_BUILD_NAME} )

ADVANCED_SET(CTEST_BUILD_NAME "${ATDM_BUILD_NAME}-exp" CACHE STRING
"Build name for submit to CDash with 'dashboard' target (default set as env<ATDM_CONFIG_BUILD_NAME>-exp)" )

SET( ATDM_INSTALLED_ENV_LOAD_SCRIPT_NAME load_matching_env.sh
CACHE STRING
"Name of script installed in <CMAKE_INSTALL_PREFIX> to source to load matching env." )
Expand Down
37 changes: 30 additions & 7 deletions cmake/tribits/ReleaseNotes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,29 @@
Release Notes for TriBITS
----------------------------------------

2021/05/15:

(*) MAJOR: Changed so that all arguments passed to ctest -S command in
'dashboard' target are passed if their value is non-empty instead of TRUE.
Also, CTEST_BUILD_NAME, TRIBITS_2ND_CTEST_DROP_SITE and
TRIBITS_2ND_CTEST_DROP_LOCATION can now be set and overridden in the CMake
configure and will get passed to the ctest -S command by the 'dashboard'
target. This now allows setting these latter vars to 'OFF' or 'FALSE'
which allows skipping a submit to a secondary CDash site if the underlying
project is set up to submit to a secondary CDash site by default (see
trilinos/Trilinos#9079). These changes technically break backward
compatibility because now setting some vars in the CMake configure will
now get passed on to ctest -S command in the 'dashboard' target and some
vars set in the env when calling 'make dashboard' will now be ignored if
they were set in the CMake cache. But many of these vars are only
forwarded to the ctest -S command in the env if they are set to non-empty
in the configure. So existing processes that set CTEST_BUILD_NAME in the
env when running 'make dashboard' but not in the CMake configure will
still behave the same (which is why no existing TriBITS tests had to
change). For these reasons, the chance of these changes causing a problem
for most users should be very small and in fact it restores what most
people would consider to be logical and useful behavior.

2021/03/12:

(*) MAJOR: Upgrade minimum required CMake version from 3.10 to 3.17. Existing
Expand All @@ -10,13 +33,13 @@ Release Notes for TriBITS

2020/11/12:

*) MAJOR: The default for `<Project>_ENABLE_EXPLICIT_INSTANTIATION` (ETI) was
changed from `OFF` to `ON`. This was turned on in practice for almost all
users of Trilinos so while this change technically breaks backward
compatibility of TriBITS, in practice, this will likely not impact any
important customers. (And new customers of Trilinos and related TriBITS
projects will enjoy the benefits of ETI by default. See
trilinos/Trilinos#8130.)
(*) MAJOR: The default for `<Project>_ENABLE_EXPLICIT_INSTANTIATION` (ETI) was
changed from `OFF` to `ON`. This was turned on in practice for almost all
users of Trilinos so while this change technically breaks backward
compatibility of TriBITS, in practice, this will likely not impact any
important customers. (And new customers of Trilinos and related TriBITS
projects will enjoy the benefits of ETI by default. See
trilinos/Trilinos#8130.)

2020/10/08:

Expand Down
3 changes: 2 additions & 1 deletion cmake/tribits/core/package_arch/TribitsGetVersionDate.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ FUNCTION(TRIBITS_GET_RAW_GIT_COMMIT_UTC_TIME repo_base_dir commit_ref
set(ENV{TZ} GMT)
execute_process(
COMMAND "${GIT_EXECUTABLE}" log
--format="%cd" --date=iso-local -1 ${commit_ref}
"--format=%cd" --date=iso-local -1 ${commit_ref}
WORKING_DIRECTORY "${repo_base_dir}"
OUTPUT_VARIABLE GIT_CMND_OUTPUT
ERROR_VARIABLE GIT_CMND_OUTPUT
Expand All @@ -51,6 +51,7 @@ FUNCTION(TRIBITS_GET_RAW_GIT_COMMIT_UTC_TIME repo_base_dir commit_ref
"Error Message: ${GIT_CMND_OUTPUT}" )
endif()
endif()
# print_var(GIT_CMND_OUTPUT)
tribits_strip_quotes_from_str("${GIT_CMND_OUTPUT}" git_commit_no_quotes)
# ToDo: Assert that the date offset is "+0000" or error out!
set(${git_commit_utc_time_out} "${git_commit_no_quotes}" PARENT_SCOPE)
Expand Down
37 changes: 24 additions & 13 deletions cmake/tribits/ctest_driver/TribitsAddDashboardTarget.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -95,39 +95,48 @@ MACRO(TRIBITS_ADD_DASHBOARD_TARGET)
APPEND_SET(EXPR_CMND_ARGS "${PROJECT_NAME}_WARNINGS_AS_ERRORS_FLAGS='${${PROJECT_NAME}_WARNINGS_AS_ERRORS_FLAGS}'")
APPEND_SET(EXPR_CMND_ARGS "${PROJECT_NAME}_ENABLE_SECONDARY_TESTED_CODE=${${PROJECT_NAME}_ENABLE_SECONDARY_TESTED_CODE}")

# Conditionally override options used only for testing. These options
# have no use in a a basic build/test so we don't want to interfere with
# options users might set on the env.
# Conditionally override options used only for the 'dashboard' target.
# These options have no use in a a basic build/test so we don't want to
# interfere with options users might set on the env.
IF (NOT "${${PROJECT_NAME}_CTEST_DO_ALL_AT_ONCE}" STREQUAL "")
APPEND_SET(EXPR_CMND_ARGS "${PROJECT_NAME}_CTEST_DO_ALL_AT_ONCE=${${PROJECT_NAME}_CTEST_DO_ALL_AT_ONCE}")
ENDIF()
IF (${PROJECT_NAME}_ENABLE_COVERAGE_TESTING)
APPEND_SET(EXPR_CMND_ARGS "CTEST_DO_COVERAGE_TESTING=TRUE")
IF (NOT "${CTEST_BUILD_NAME}" STREQUAL "")
APPEND_SET(EXPR_CMND_ARGS "CTEST_BUILD_NAME=${CTEST_BUILD_NAME}")
ENDIF()
IF (CTEST_BUILD_FLAGS)
IF (NOT "${${PROJECT_NAME}_ENABLE_COVERAGE_TESTING}" STREQUAL "")
APPEND_SET(EXPR_CMND_ARGS "CTEST_DO_COVERAGE_TESTING=${${PROJECT_NAME}_ENABLE_COVERAGE_TESTING}")
ENDIF()
IF (NOT "${CTEST_BUILD_FLAGS}" STREQUAL "")
APPEND_SET(EXPR_CMND_ARGS "CTEST_BUILD_FLAGS='${CTEST_BUILD_FLAGS}'")
ENDIF()
IF (CTEST_PARALLEL_LEVEL)
IF (NOT "${CTEST_PARALLEL_LEVEL}" STREQUAL "")
APPEND_SET(EXPR_CMND_ARGS "CTEST_PARALLEL_LEVEL=${CTEST_PARALLEL_LEVEL}")
ENDIF()
IF (NOT "${CTEST_DO_SUBMIT}" STREQUAL "")
APPEND_SET(EXPR_CMND_ARGS "CTEST_DO_SUBMIT=${CTEST_DO_SUBMIT}")
ENDIF()
IF (CTEST_DROP_METHOD)
IF (NOT "${CTEST_DROP_METHOD}" STREQUAL "")
APPEND_SET(EXPR_CMND_ARGS "CTEST_DROP_METHOD=${CTEST_DROP_METHOD}")
ENDIF()
IF (CTEST_DROP_SITE)
IF (NOT $"{CTEST_DROP_SITE}" STREQUAL "")
APPEND_SET(EXPR_CMND_ARGS "CTEST_DROP_SITE=${CTEST_DROP_SITE}")
ENDIF()
IF (CTEST_DROP_LOCATION)
IF (NOT "${CTEST_DROP_LOCATION}" STREQUAL "")
APPEND_SET(EXPR_CMND_ARGS "CTEST_DROP_LOCATION=${CTEST_DROP_LOCATION}")
ENDIF()
IF (CTEST_DROP_SITE_COVERAGE)
IF (NOT "${CTEST_DROP_SITE_COVERAGE}" STREQUAL "")
APPEND_SET(EXPR_CMND_ARGS "CTEST_DROP_SITE_COVERAGE=${CTEST_DROP_SITE_COVERAGE}")
ENDIF()
IF (CTEST_DROP_LOCATION_COVERAGE)
IF (NOT "${CTEST_DROP_LOCATION_COVERAGE}" STREQUAL "")
APPEND_SET(EXPR_CMND_ARGS "CTEST_DROP_LOCATION_COVERAGE=${CTEST_DROP_LOCATION_COVERAGE}")
ENDIF()
IF (NOT "${TRIBITS_2ND_CTEST_DROP_LOCATION}" STREQUAL "")
APPEND_SET(EXPR_CMND_ARGS "TRIBITS_2ND_CTEST_DROP_LOCATION=${TRIBITS_2ND_CTEST_DROP_LOCATION}")
ENDIF()
IF (NOT "${TRIBITS_2ND_CTEST_DROP_SITE}" STREQUAL "")
APPEND_SET(EXPR_CMND_ARGS "TRIBITS_2ND_CTEST_DROP_SITE=${TRIBITS_2ND_CTEST_DROP_SITE}")
ENDIF()

#PRINT_VAR(${PROJECT_NAME}_EXTRA_REPOSITORIES)
APPEND_SET(EXPR_CMND_ARGS
Expand Down Expand Up @@ -213,7 +222,9 @@ MACRO(TRIBITS_ADD_DASHBOARD_TARGET)

ADD_CUSTOM_TARGET( dashboard

VERBATIM
USES_TERMINAL # Allow real-time STDOUT with ninja target

VERBATIM # Recommended

# WARNING: The echoed command and the actual commands are duplicated! You have to reproduce them!

Expand Down
4 changes: 2 additions & 2 deletions cmake/tribits/ctest_driver/TribitsCTestDriverCore.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -945,7 +945,7 @@ INCLUDE(${CMAKE_CURRENT_LIST_DIR}/TribitsCTestDriverCoreHelpers.cmake)
# ``-D${PROJECT_NAME}_ENABLE_COVERAGE_TESTING=ON`` getting passed down to
# the inner CMake configure of the project (i.e. so that the executables
# are instrumented to generate coverage data when run by the tests in the
# ``CTEST_TEST()`` command).
# ``CTEST_TEST()`` command). (Default is ``OFF``)
#
# .. _CTEST_COVERAGE_COMMAND:
#
Expand Down Expand Up @@ -1620,7 +1620,7 @@ FUNCTION(TRIBITS_CTEST_DRIVER)
SET_DEFAULT_AND_FROM_ENV( ${PROJECT_NAME}_WARNINGS_AS_ERRORS_FLAGS "" )

# Do coverage testing or not
SET_DEFAULT_AND_FROM_ENV( CTEST_DO_COVERAGE_TESTING FALSE )
SET_DEFAULT_AND_FROM_ENV( CTEST_DO_COVERAGE_TESTING OFF )

# Command to run to get coverage results
SET_DEFAULT_AND_FROM_ENV( CTEST_COVERAGE_COMMAND gcov )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1670,6 +1670,6 @@ MACRO(TRIBITS_CTEST_ALL_AT_ONCE)
ENDIF()
# ToDo: Optionally determine pass/fail based

MESSAGE("\nDone with the all-at-once configure, build, test, ans submit of ${PROJECT_NAME} packages!\n")
MESSAGE("\nDone with the all-at-once configure, build, test, and submit of ${PROJECT_NAME} packages!\n")

ENDMACRO()
2 changes: 1 addition & 1 deletion cmake/tribits/devtools_install/install-cmake.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
#

cmakeBaseName = "cmake"
cmakeDefaultVersion = "3.13.4"
cmakeDefaultVersion = "3.17.4"


#
Expand Down
Loading

0 comments on commit e3d3a24

Please sign in to comment.