This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, dashboard has been updated via 7be0d8260ca2ad5097a34ab2e6835965d07cf27b (commit) via b512a387b24803c791c0fc21eaf5e01ec400401c (commit) from e92ba4123b610e11f39e5d9d08637cfc496dd8c0 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7be0d8260ca2ad5097a34ab2e6835965d07cf27b commit 7be0d8260ca2ad5097a34ab2e6835965d07cf27b Author: Brad King <brad.k...@kitware.com> AuthorDate: Wed Dec 14 11:26:01 2016 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Wed Dec 14 11:26:01 2016 -0500 kwsys_common: Implement nightly testing for stage-based workflow KWSys development is moving to a Fork & Merge Request model where we maintain a "stage" for each target branch (e.g. master) that consists of the target branch plus some set of MRs merged on top of it. The job of this testing script is now to test one of the integration branches or one of their stage branches. Add infrastructure to create or convert the local test repository such that it has tracking branches for each stage branch. Select one to check out and follow for testing. diff --git a/cmake_common.cmake b/cmake_common.cmake index ff91ad1..9ed0ccf 100644 --- a/cmake_common.cmake +++ b/cmake_common.cmake @@ -429,5 +429,12 @@ if(EXISTS ${cmake_common_dir}/kwsys_common.cmake endforeach() unset(CTEST_CHECKOUT_COMMAND) unset(CTEST_CONFIGURE_COMMAND) + if(NOT DEFINED KWSys_git_branch) + if(dashboard_git_branch STREQUAL "master") + set(KWSys_git_branch master) + else() + set(KWSys_git_branch stage/master/nightly/latest) + endif() + endif() include(${cmake_common_dir}/kwsys_common.cmake) endif() diff --git a/kwsys_common.cmake b/kwsys_common.cmake index 512ab84..b7f9f2f 100644 --- a/kwsys_common.cmake +++ b/kwsys_common.cmake @@ -127,7 +127,7 @@ endif() # Select Git source to use. if(NOT DEFINED KWSys_git_repo) - set(KWSys_git_repo "git://public.kitware.com/KWSys.git") + set(KWSys_git_repo "https://gitlab.kitware.com/utils/kwsys.git") endif() if(NOT DEFINED KWSys_git_branch) set(KWSys_git_branch master) @@ -221,6 +221,12 @@ if(EXISTS ${CTEST_SOURCE_DIRECTORY}) endif() endif() +# Upstream non-head refs to treat like branches. +set(KWSys_git_extra_branches + stage/master/head # topics staged on master continuously + stage/master/nightly/latest # updated nightly to stage/master/head + ) + # Support initial checkout if necessary. if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}" AND NOT DEFINED CTEST_CHECKOUT_COMMAND) @@ -229,7 +235,7 @@ if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}" set(ctest_checkout_script ${CTEST_DASHBOARD_ROOT}/${_name}-init.cmake) file(WRITE ${ctest_checkout_script} "# git repo init script for ${_name} execute_process( - COMMAND \"${CTEST_GIT_COMMAND}\" clone -n -b ${KWSys_git_branch} -- \"${KWSys_git_repo}\" + COMMAND \"${CTEST_GIT_COMMAND}\" clone -n -- \"${KWSys_git_repo}\" \"${CTEST_SOURCE_DIRECTORY}\" ) if(EXISTS \"${CTEST_SOURCE_DIRECTORY}/.git\") @@ -237,23 +243,74 @@ if(EXISTS \"${CTEST_SOURCE_DIRECTORY}/.git\") COMMAND \"${CTEST_GIT_COMMAND}\" config core.autocrlf ${dashboard_git_crlf} WORKING_DIRECTORY \"${CTEST_SOURCE_DIRECTORY}\" ) + foreach(b ${KWSys_git_extra_branches}) + execute_process( + COMMAND \"${CTEST_GIT_COMMAND}\" config --add remote.origin.fetch +refs/\${b}:refs/remotes/origin/\${b} + WORKING_DIRECTORY \"${CTEST_SOURCE_DIRECTORY}\" + ) + endforeach() + execute_process( + COMMAND \"${CTEST_GIT_COMMAND}\" fetch + WORKING_DIRECTORY \"${CTEST_SOURCE_DIRECTORY}\" + ) + foreach(b ${KWSys_git_extra_branches}) + execute_process( + COMMAND \"${CTEST_GIT_COMMAND}\" branch \${b} origin/\${b} + WORKING_DIRECTORY \"${CTEST_SOURCE_DIRECTORY}\" + ) + execute_process( + COMMAND \"${CTEST_GIT_COMMAND}\" config branch.\${b}.remote origin + WORKING_DIRECTORY \"${CTEST_SOURCE_DIRECTORY}\" + ) + execute_process( + COMMAND \"${CTEST_GIT_COMMAND}\" config branch.\${b}.merge refs/\${b} + WORKING_DIRECTORY \"${CTEST_SOURCE_DIRECTORY}\" + ) + endforeach() execute_process( - COMMAND \"${CTEST_GIT_COMMAND}\" checkout + COMMAND \"${CTEST_GIT_COMMAND}\" checkout ${KWSys_git_branch} WORKING_DIRECTORY \"${CTEST_SOURCE_DIRECTORY}\" ) endif() ") set(CTEST_CHECKOUT_COMMAND "\"${CMAKE_COMMAND}\" -P \"${ctest_checkout_script}\"") elseif(EXISTS "${CTEST_SOURCE_DIRECTORY}/.git") - # Start on the branch to be tested. - dashboard_git(rev-parse --verify -q refs/heads/${KWSys_git_branch}) - if(dashboard_git_failed) - dashboard_git(checkout -b ${KWSys_git_branch} origin/${KWSys_git_branch}) - else() - dashboard_git(checkout ${KWSys_git_branch}) + # Upstream URL. + dashboard_git(config --get remote.origin.url) + if(NOT dashboard_git_output STREQUAL "${KWSys_git_repo}") + dashboard_git(config remote.origin.url "${KWSys_git_repo}") endif() - if(dashboard_git_failed) - message(FATAL_ERROR "Failed to checkout branch ${KWSys_git_branch}:\n${dashboard_git_output}") + + # Local refs for remote branches. + set(added_branches 0) + foreach(b ${KWSys_git_extra_branches}) + dashboard_git(rev-parse --verify -q refs/remotes/origin/${b}) + if(dashboard_git_failed) + dashboard_git(config --add remote.origin.fetch +refs/${b}:refs/remotes/origin/${b}) + set(added_branches 1) + endif() + endforeach() + if(added_branches) + dashboard_git(fetch origin) + endif() + + # Local branches. + foreach(b ${KWSys_git_extra_branches}) + dashboard_git(rev-parse --verify -q refs/heads/${b}) + if(dashboard_git_failed) + dashboard_git(branch ${b} origin/${b}) + dashboard_git(config branch.${b}.remote origin) + dashboard_git(config branch.${b}.merge refs/${b}) + endif() + endforeach() + + # Local checkout. + dashboard_git(symbolic-ref HEAD) + if(NOT dashboard_git_output STREQUAL "${KWSys_git_branch}") + dashboard_git(checkout ${KWSys_git_branch}) + if(dashboard_git_failed) + message(FATAL_ERROR "Failed to checkout branch ${KWSys_git_branch}:\n${dashboard_git_output}") + endif() endif() endif() https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b512a387b24803c791c0fc21eaf5e01ec400401c commit b512a387b24803c791c0fc21eaf5e01ec400401c Author: Brad King <brad.k...@kitware.com> AuthorDate: Wed Dec 14 11:25:27 2016 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Wed Dec 14 11:25:27 2016 -0500 kwsys_common: Revise per-topic testing infrastructure KWSys development is moving to a Fork & Merge Request model where per-topic testing will be managed by a `refs/test-topics/` namespace on the upstream repository. Convert our topic testing infrastructure to fetch this set of refs and test each one. diff --git a/kwsys_common.cmake b/kwsys_common.cmake index 8050f2c..512ab84 100644 --- a/kwsys_common.cmake +++ b/kwsys_common.cmake @@ -357,50 +357,32 @@ set(dashboard_build_name ${CTEST_BUILD_NAME}) dashboard_git(branch -f experimental) dashboard_git(checkout experimental) -# Download the topics file. -get_filename_component(_name "${CTEST_SOURCE_DIRECTORY}" NAME) -set(topics_file ${CTEST_DASHBOARD_ROOT}/${_name}-topics.txt) -file(DOWNLOAD "${KWSys_topics_url}" "${topics_file}" INACTIVITY_TIMEOUT 5 STATUS status LOG log) -list(GET status 0 failed) -if(failed) - message(WARNING "Failed to download\n ${KWSys_topics_url}\n${status}\n${log}") - return() -endif() +# Fetch the test topic branches. +dashboard_git(fetch origin --prune "+refs/test-topics/*:refs/test-topics/*") -# Parse the topics file. -set(topic_heads "") -set(topic_refs "") -file(STRINGS "${topics_file}" topic_lines LIMIT_COUNT 50 LIMIT_INPUT 65536) +set(topic_names "") +dashboard_git(for-each-ref refs/test-topics/ "--format=%(refname)") +string(REPLACE "\n" ";" topic_lines "${dashboard_git_output}") foreach(line ${topic_lines}) - if("${line}" MATCHES "^([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]+) ([A-Za-z0-9/._-]+) ([A-Za-z0-9/._-]+)$") - set(head ${CMAKE_MATCH_1}) - set(ref_${head} ${CMAKE_MATCH_2}) - set(topic_${head} ${CMAKE_MATCH_3}) - list(APPEND topic_heads ${head}) - list(APPEND topic_refs ${ref_${head}}) + if("${line}" MATCHES "^refs/test-topics/([A-Za-z0-9/._-]+)$") + list(APPEND topic_names ${CMAKE_MATCH_1}) else() message(WARNING "Skipping unrecognized line:\n ${line}\n") endif() endforeach() -# Fetch the topics. -dashboard_git(fetch ${KWSys_topics_repo} ${topic_refs}) -if(dashboard_git_failed) - message(WARNING "Failed to fetch topics:\n${dashboard_git_output}\n") -endif() - -# Run an experimental build for each topic head. -foreach(head ${topic_heads}) +# Run an experimental build for each test topic branch. +foreach(topic ${topic_names}) + message(STATUS "Testing topic '${topic}'") + set(topic_ref refs/test-topics/${topic}) dashboard_git(reset --hard ${KWSys_git_branch}) - - dashboard_git(rev-parse --verify -q --short=5 ${head}) + dashboard_git(rev-parse --verify -q --short=5 ${topic_ref}) if(dashboard_git_failed) - message(WARNING "Skipping commit '${head}' that does not exist!") + message(WARNING "Skipping topic '${topic}' that disappeared!") else() - set(topic ${topic_${head}}) set(short ${dashboard_git_output}) set(CTEST_BUILD_NAME ${topic}-g${short}+${dashboard_build_name}) - set(CTEST_GIT_UPDATE_CUSTOM ${CTEST_GIT_COMMAND} reset --hard ${head}) + set(CTEST_GIT_UPDATE_CUSTOM ${CTEST_GIT_COMMAND} reset --hard ${topic_ref}) dashboard_run_KWSys() endif() endforeach() ----------------------------------------------------------------------- Summary of changes: cmake_common.cmake | 7 +++ kwsys_common.cmake | 125 ++++++++++++++++++++++++++++++++++------------------ 2 files changed, 89 insertions(+), 43 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits