Skip to content

Commit

Permalink
Merge branch 'tribits_github_snapshot' into 9079-fix-dashboard-fwd-ar…
Browse files Browse the repository at this point in the history
…gs-plus (#9079)

Also related to TriBITSPub/TriBITS#370
  • Loading branch information
bartlettroscoe committed May 15, 2021
2 parents 6d54560 + 806a052 commit 71478b8
Show file tree
Hide file tree
Showing 8 changed files with 231 additions and 120 deletions.
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 71478b8

Please sign in to comment.