It is currently Mon Feb 24, 2020 6:52 pm


All times are UTC




Post new topic Reply to topic  [ 29 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: PolyVox build dashboard
PostPosted: Wed Feb 24, 2010 4:36 pm 
Developer
User avatar

Joined: Sun May 11, 2008 4:29 pm
Posts: 198
Location: UK
As we use CMake for building PolyVox and Thermite, I've set up a build CDash dashboard for PolyVox. This allows me to run clean nightly builds here in Linux to check for regressions. The dashboard is hosted at my.cdash.org though there is a chance in future that it may move to thermite.org.

If you wish to submit your own build results, do a make clean to force a new build and then do make Experimental (or, in VS build the Experimental target). This will automatically build PolyVox and submit the results to CDash.

I have also added a very simple unit test, based on the OpenGL example which will also be built, run and submitted nightly. While this test is trivial, it paves the way for adding more unit test in the future

This should all help David and I keep the Linux version in a working state at all times.

_________________
Matt Williams
Linux/CMake guy


Top
Offline Profile  
Reply with quote  
 Post subject: Re: PolyVox build dashboard
PostPosted: Fri Feb 26, 2010 9:02 am 
Developer
User avatar

Joined: Sun May 04, 2008 6:35 pm
Posts: 1827
Thanks Matt, that looks good. I will experiment and try submitting a build this weekend. How does the nightly build process work? Is a Cron job you have running on your local machine, or is the build perfromed by the CDash server? Also, if/when I do break the Linux build and the nightly build fails, can we be notified somehow?

Let's try it for a couple of weeks, and if all goes well we could consider adding Thermite as well. As I recall it was pretty close to building on Linux. I think there were just some issues with OgreBullet, and the physics support can now be conditionally compiled with an #ifdef so those problems may have gone away.


Top
Offline Profile  
Reply with quote  
 Post subject: Re: PolyVox build dashboard
PostPosted: Fri Feb 26, 2010 11:12 am 
Developer
User avatar

Joined: Sun May 11, 2008 4:29 pm
Posts: 198
Location: UK
Currently I've got it building on my machine at University. There's a cron job which will run at about 2 in the morning which will clean the build directory and run make Nightly. This will update the SVN repo to the state at midnight (2 hours before) and then build and submit. So far the cron doesn't seem to be running but that's likely just a deficiency in my cron-fu :)

Supposedly the next version of CDash will be able to kick off builds itself but I don't know how that will work.

I believe that I can set up an email to be sent on various criteria but for now I'll only do it for build failures.

I am planning on adding Thermite as well but first I need the dependencies built on my work computer. We'll trial PolyVox for a while first anyway.

_________________
Matt Williams
Linux/CMake guy


Top
Offline Profile  
Reply with quote  
 Post subject: Re: PolyVox build dashboard
PostPosted: Fri Feb 26, 2010 1:51 pm 
Developer
User avatar

Joined: Sun May 11, 2008 4:29 pm
Posts: 198
Location: UK
Ok, so to get email notifications you need to go to the CDash website and get yourself an account. Then, to subscribe to the dashboard go to personal dashboard and click on [Show public projects], find PolyVox in the list and click the subscribe link. Then you can go to http://my.cdash.org/subscribeProject.php?projectid=162&edit=1 (or click on the edit subscription icon under the Actions column) and set your email preferences.

_________________
Matt Williams
Linux/CMake guy


Top
Offline Profile  
Reply with quote  
 Post subject: Re: PolyVox build dashboard
PostPosted: Sun Feb 28, 2010 9:47 pm 
Developer
User avatar

Joined: Sun May 04, 2008 6:35 pm
Posts: 1827
Great, I have registered on CDash and should now receive emails if I break the build. I tried submitting a build from Windows but it didn't quite work - I'll do some investigation and see if I can get it running properly. Partly I'm suffering from very poor internet access at the moment. But even having the Linux build is useful and hopefully means I can get those warnings down.


Top
Offline Profile  
Reply with quote  
 Post subject: Re: PolyVox build dashboard
PostPosted: Tue Mar 02, 2010 4:44 pm 
Developer
User avatar

Joined: Sun May 11, 2008 4:29 pm
Posts: 198
Location: UK
If you want to post the output of running ctest -D Experimental -VV in the build directory here for me to help debug, feel free. But if you're just getting timeouts on the CDash submission then there's not much I can do.

_________________
Matt Williams
Linux/CMake guy


Top
Offline Profile  
Reply with quote  
 Post subject: Re: PolyVox build dashboard
PostPosted: Tue Mar 02, 2010 8:05 pm 
Developer
User avatar

Joined: Sun May 04, 2008 6:35 pm
Posts: 1827
Actually I think it's down to my slightly broken Windows setup, I've got a feeling I'm not doing things quite 'the CMake way'. For example, after building I have to build the 'Install' target (e.g. make install on Linux) before I can run the example application or otherwise it doesn't find the .dlls. I think the testvector and testvolume applications are having the same problem, and so the Experimental build is failing.

I've got a feeling I did it on purpose (possibly when PolyVox and Thermite were both in the same project...) but I'll go back and do things properly. Unfortunatly I have a deadline at the end of this month so I don't know how much I'll look at it before then. I will try to find some time...

It does look like the nightly build are working though. I'll try commiting a breaking change and see if I get notified.


Top
Offline Profile  
Reply with quote  
 Post subject: Re: PolyVox build dashboard
PostPosted: Tue Mar 02, 2010 9:07 pm 
Developer
User avatar

Joined: Sun May 11, 2008 4:29 pm
Posts: 198
Location: UK
David Williams wrote:
Actually I think it's down to my slightly broken Windows setup, I've got a feeling I'm not doing things quite 'the CMake way'. For example, after building I have to build the 'Install' target (e.g. make install on Linux) before I can run the example application or otherwise it doesn't find the .dlls. I think the testvector and testvolume applications are having the same problem, and so the Experimental build is failing.

Both the tests and the example work fine from the build dir here on Linux. The way it works in Linux is that when the example is built, during the linking phase, a tag called the RPATH is put into the ELF header. This contains a list of directories in which to search for dependency libraries during runtime (i.e. ld will check the RPATH and find the library). CMake is set up such that when you run make it sets the RPATH to point to the build directory (build/library/PolyVoxCore) but then, when you install it re-links the executable to point to where it would expect to find the library when installed (<prefix>/lib/).

According to the mailing list windows has no such thing. Instead, I think it should suffice to copy the libraries in the same folder as the examples and tests (or vice versa). The other option is to build both shared and static libraries and link the tests and executables against the static ones.

_________________
Matt Williams
Linux/CMake guy


Top
Offline Profile  
Reply with quote  
 Post subject: Re: PolyVox build dashboard
PostPosted: Wed Mar 03, 2010 9:09 am 
Developer
User avatar

Joined: Sun May 04, 2008 6:35 pm
Posts: 1827
Yep, that sounds about right. I'll take a crack at it and see if I can get it to work.

Also I got an email this morning telling me there are warnings in PolyVox. So apparently the system works :-) I'll try to get those fixed, though some of them are in code which will soon get pulled out.


Top
Offline Profile  
Reply with quote  
 Post subject: Re: PolyVox build dashboard
PostPosted: Wed Mar 03, 2010 10:50 am 
Developer
User avatar

Joined: Sun May 11, 2008 4:29 pm
Posts: 198
Location: UK
Some of the warnings in CDash seem a bit confusing because while it gets the "Warning: ..." line, it can sometimes cut off the context. I might upgrade the version of CTest on my computer since it is apparently supposed to have better handling of this.

Good to know the emails are working though :)

_________________
Matt Williams
Linux/CMake guy


Top
Offline Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 29 posts ]  Go to page 1, 2, 3  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Theme created StylerBB.net