[CMake] Strange behavior with Nightly builds

NoRulez norulez at me.com
Thu Jun 21 02:29:10 EDT 2012


Has no one an idea on how to do so or is such functionality missing?

Thanks in advance

Best Regards


Am 15. Jun 2012 um 08:38 schrieb NoRulez <norulez at me.com>:

> Hello David,
>
> but the problem is, that the timestamp is one day behind, so this doesn't work and I get previous revisions. (Our nightly build starts at 23:00 and not at 1 am)
> However is there a way to update to the HEAD revision?
>
> Best Regards
>
>
> Am 14. Jun 2012 um 15:05 schrieb David Cole <david.cole at kitware.com>:
>
>> On Thu, Jun 14, 2012 at 3:07 AM, NoRulez <norulez at me.com> wrote:
>>
>>     I think i fond the problem, but I don't know how to solve it.
>>
>>     I have the following defined in the CTestScript.cmake:
>>     if(${NEED_REPOSITORY_CHECKOUT})
>>         set(CTEST_CHECKOUT_COMMAND "${CTEST_UPDATE_COMMAND} co ${REPOSITORY_URL} \"${CTEST_SOURCE_DIRECTORY}\" -r HEAD")
>>     else()
>>         set(CTEST_CHECKOUT_COMMAND "${CTEST_UPDATE_COMMAND} update")
>>     endif()
>>
>>
>>
>> The CTEST_CHECKOUT_COMMAND should only be used for checkout. It should not be used for update.
>>
>>  
>>
>>
>>
>>     which seems to be correct, but in CDash the update command looks like:
>>     Update Command: "C:/Program Files/Subversion/bin/svn.exe" "update" "--non-interactive" "-r{2012-06-12 23:00:00 +0000}"
>>
>>
>>
>> This comes from the ctest_update command, and it intentionally uses the nightly date stamp to guarantee a consistent snapshot across clients. Otherwise, you could get different source trees on different machines depending on the timing of running the ctest_update command.
>>
>>  
>>
>>
>>     From the svn documentation:
>>      If no revision is given, bring working copy up-to-date with HEAD rev.
>>      Else synchronize working copy to revision given by -r.
>>
>>     So, how could I remove the last command line argument ("-r{2012-06-12 23:00:00 +0000}")?
>>
>>
>>     Thanks in advance
>>
>>     Best Regards
>>
>>
>>
>>     Am 06. Jun 2012 um 23:31 schrieb Richard Wackerbarth <richard at NFSNet.org>:
>>
>>
>>>     > NoRulez,
>>>
>>>     A better question is "Why was revision 8 not included in the nightly run?"
>>>     Using one source tree for both continuous and nightly assumes that there will be no continuous runs between the last update incorporated in the nightly run and the time at which the nightly run is performed. It appears that you are not suspending continuous runs between the nightly epoch and the time that you perform the nightly run.
>>>
>>>     By following Stefan's scheme of two complete trees, each tree meets the above criteria because the nightly version never does continuous runs and the continuous version never does nightly runs.
>>>
>>>     On Jun 6, 2012, at 3:49 PM, Stefan Reuschl wrote:
>>>
>>>     > Am 06.06.2012, 08:57 Uhr, schrieb NoRulez <norulez at me.com>:
>>>     >
>>>     >> Hello,
>>>     >>
>>>     >> here is the build process of the build server:
>>>     >>
>>>     >> 1.) e.g.: last commit at 03:00 pm (svn revision 8) => build is ok
>>>     >> 2.) The nightly build starts at 10:00 pm (svn revision 7) => build is ok
>>>     >> Why is the svn revision before the last commit, it should be 8?
>>>     >> 3.) In the morning (~ 06:00 am) a continuous build is triggered (SVN revision 8) => build is ok
>>>     >> Why is this continuous build triggered?
>>>     >>
>>>     >> The folder structure for the project on the build server is the following:
>>>     >> 
>>>     >> MyProject
>>>     >> |
>>>     >> +----build
>>>     >> |
>>>     >> +----source
>>>     >>
>>>     >> In the CTestScript.cmake if have the following:
>>>     >>
>>>     >> if(MODEL STREQUAL "Nightly")
>>>     >> file(REMOVE_RECURSE "${CTEST_BINARY_DIRECTORY}")
>>>     >> set(CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
>>>     >> endif()
>>>     >>
>>>     >> According to my understanding the build directory should be removed and newly created.
>>>     >> But I don't know why the revisions are changed during the nightly build.
>>>     >
>>>     > That's because the svn update for both Nightly and Continuous are done on
>>>     > the common source tree.
>>>     > The solution is to have independent source trees:
>>>     >
>>>     > MyProject
>>>     > |
>>>     > +----Continuous
>>>     > | |
>>>     > | +----build
>>>     > | |
>>>     > | +----source
>>>     > |
>>>     > +----Nightly
>>>     > | |
>>>     > | +----build
>>>     > | |
>>>     > | +----source
>>>     >
>>>     > Regards,
>>>     > Stefan
>>>     > --
>>>     >
>>>     > Powered by www.kitware.com
>>>     >
>>>     > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>>     >
>>>     > Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>>>     >
>>>     > Follow this link to subscribe/unsubscribe:
>>>     > http://www.cmake.org/mailman/listinfo/cmake
>>>
>>>     --
>>>
>>>     Powered by www.kitware.com
>>>
>>>     Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>>
>>>     Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>>>
>>>     Follow this link to subscribe/unsubscribe:
>>>     http://www.cmake.org/mailman/listinfo/cmake
>>>      
>>
>>     --
>>
>>     Powered by www.kitware.com
>>
>>     Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>
>>     Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>>
>>     Follow this link to subscribe/unsubscribe:
>>     http://www.cmake.org/mailman/listinfo/cmake
>>
>>
> --
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20120621/42954f09/attachment-0001.htm>


More information about the CMake mailing list