[Insight-developers] git and dashboard

Gaëtan Lehmann gaetan.lehmann at jouy.inra.fr
Thu Jul 29 09:50:22 EDT 2010


Le 29 juil. 10 à 14:31, Brad King a écrit :

> On 07/29/2010 06:10 AM, Gaëtan Lehmann wrote:
>> * ctest doesn't seem to change the branch to nightly-master. I may
>> have misunderstood your previous mail, but I thought it would be done
>> automatically if itk_common.cmake was used.
>
> If you use the default Nightly mode it will select nightly-master
> automatically when it does the *initial* clone command.  If you just
> delete your source tree the script will set it up correctly on the
> next run.  After that it trusts that the local user has done what
> he pleases.

IMO it would be safer to enforce the right branch. If it's not done  
there, I'll do it outside, but I think it shouldn't be done only in my  
builds :-)

I believe a hook like that should be ok:

   macro(dashboard_hook_init)
     execute_process(
       COMMAND "${CTEST_GIT_COMMAND}" checkout nightly-master
       WORKING_DIRECTORY "${CTEST_SOURCE_DIRECTORY}"
       )
   endmacro(dashboard_hook_init)


>
>> * what is the oldest possible git version? I have a host running git
>> 1.6.2.5 and it doesn't seem to support the command
>
> I suggest 1.6.5 or higher.

I've updated git - there was an error about "git fetch" after that.

>
>> Should I use the -b option and create the local branch? Would it be
>> updated as expected then?
>
> $ git checkout -b nightly-master origin/nightly-master
>
> Then cat .git/config and ensure this section exists:
>
> [branch "nightly-master"]
>        remote = origin
>        merge = refs/heads/nightly-master
>
> This tells Git (and ctest) which upstream branch to track.
>
>> * I think it would be nice to put
>>
>>   set(ENV{LC_ALL} C)
>
> That is already in there and has been since the first version.

oops, sorry, I've missed it

>
>> * valgrind options and environment don't seem to be set automatically
>> by itk_common.cmake - it would help a lot the testers to do that when
>> dashboard_do_memcheck is ON. At this time I'm using
>>
>>   set(ENV{GLIBCXX_FORCE_NEW} 1)
>>   set(ENV{GLIBCPP_FORCE_NEW} 1)
>
> The common script is cross-platform.  These options are platform
> specific.  They should go in the individual scripts IMO.  I've
> added dashboard_hook_memcheck so you can set the environment
> at the right time in your script:
>
> macro(dashboard_hook_memcheck)
>  set(ENV{GLIBCXX_FORCE_NEW} 1)
>  set(ENV{GLIBCPP_FORCE_NEW} 1)
> endmacro()

ok, thanks

>
>>   set( dashboard_cache "
>>     MEMORYCHECK_COMMAND_OPTIONS:STRING=--trace-children=yes --quiet  
>> --
>> tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=100
>> --verbose --demangle=yes --suppressions=${CTEST_SOURCE_DIRECTORY}/
>> CMake/InsightValgrind.supp
>>     "
>
> Be careful to reference CTEST_SOURCE_DIRECTORY only in your
>
>  dashboard_hook_init
>
> macro.  The variable is not set until after itk_common has loaded.
> See
>
>  http://www.cdash.org/CDash/viewNotes.php?buildid=678911
>
> for example use of the hook macro.
>

OK, I'll do that.
I've set the value manually in the script so that was not really a  
problem there.

Gaëtan

-- 
Gaëtan Lehmann
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
tel: +33 1 34 65 29 66    fax: 01 34 65 29 09
http://voxel.jouy.inra.fr  http://www.itk.org
http://www.mandriva.org  http://www.bepo.fr

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 203 bytes
Desc: Ceci est une signature ?lectronique PGP
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20100729/f4a3bef9/attachment.pgp>


More information about the Insight-developers mailing list