[CMake] Strange behavior with Nightly builds
Richard Wackerbarth
richard at NFSNet.org
Thu Jun 14 07:52:34 EDT 2012
I think that you are missing the point of "nightly" runs. The idea behind a nightly run is that each build-bot builds the SAME version of the code.
Just checking out the HEAD for every build would be submitting one "continuous" (perhaps it should be called "head") build. The version built is whatever happens to be the most current head at the time of the build.
So, if you just want "head" builds, don't submit them to two different dashboard areas. Or, if you truly want (and I suggest that it is a good idea) "nightly" builds, either run those builds on a separate bot (source tree) or assure that the continuous builds stop before the end of the logical day and do not resume until after the nightly build has been run.
On Jun 14, 2012, at 2:07 AM, NoRulez 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()
>
> 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}"
>
> 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
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20120614/d3d08dd0/attachment.htm>
More information about the CMake
mailing list