CI build

Discussion area about developing or extending OGRE, adding plugins for it or building applications on it. No newbie questions please, use the Help forum for that.
Post Reply
Transporter
Minaton
Posts: 933
Joined: Mon Mar 05, 2012 11:37 am
Location: Germany
x 110

CI build

Post by Transporter »

Hi,

I've looked at the assimp project (http://assimp.sf.net). They are using Travis CI (https://travis-ci.org/assimp/assimp) for their project. It's free for OpenSource. Maybe this could be interesting for Ogre, too. Travis is rebuilding the whole project for each pull request and gives feedback if the request is working or not. This could be helpful to verify working pull requests for various platforms.

User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: CI build

Post by jacmoe »

Isn't Travis Github only?
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.

Transporter
Minaton
Posts: 933
Joined: Mon Mar 05, 2012 11:37 am
Location: Germany
x 110

Re: CI build

Post by Transporter »

jacmoe wrote:Isn't Travis Github only?
I don't know. I just come across that CI after posting a bugfix for assimp.

The hard way is to setup a Jenkins (http://www.jenkins-ci.org) server (I'll start one for my regular Ogre builds during the next days).

Transporter
Minaton
Posts: 933
Joined: Mon Mar 05, 2012 11:37 am
Location: Germany
x 110

Re: CI build

Post by Transporter »

POCO is using AppVeyor (https://www.appveyor.com) which is also free for open source and has bitbucket support.

User avatar
Herb
Orc
Posts: 412
Joined: Thu Jun 04, 2009 3:21 am
Location: Kalamazoo,MI
x 38

Re: CI build

Post by Herb »

I've used Jenkins quite a bit for CI builds (mainly on Ubuntu servers). What's nice about it is the fact that you can tag shell scripts for a build step. So, if there isn't a "plugin" to do a certain task or you just need something custom you can just add another shell build step to your build. At my work, my jenkins instance is very dumb, and shell scripts (with all the smarts) for the build are simply executed by jenkins. Another great side effect of this is the build scripts are version controlled in another repo from my main project. So, I can have version control and history on build script changes, which you don't get inside jenkins. Just some thoughts...

Transporter
Minaton
Posts: 933
Joined: Mon Mar 05, 2012 11:37 am
Location: Germany
x 110

Re: CI build

Post by Transporter »

Yes, I use batch files for Windows builds. I setup everything with variables so I can use a simple matrix job to build x86 and amd64 with one job. Also I like the dependency management. Jenkins clone and build boost followed by ogre if boost build is successful. If I can find some money I'll buy more RAM to speed up the server (4 GB is too low). But I think Jenkins is not the right solution for the official Ogre development, because you need a lot of work to get it running once! A managed CI service might be better, so you don't have to worry about server management. On the other side, it's powerful enough to build dev snapshot regularly for testing and debug purpose on various platforms with different configurations. I use an Ubuntu server (14.10) to build VS2013 (Windows 7) packages. In theory I could also build Linux and OSX packages on that machine. I like the idea of managing the build scripts within an own repo. I'll implement that, too. Very good idea! :!:

User avatar
Zonder
Ogre Magi
Posts: 1135
Joined: Mon Aug 04, 2008 7:51 pm
Location: Manchester - England
x 58

Re: CI build

Post by Zonder »

You should have a look at team city as well (free for open source projects which are established) it is a very simple system to use and very adaptable to custom requirements. I have been using it for over a year no hassles what so ever.

EDIT

CMake plugin for the build system
https://confluence.jetbrains.com/displa ... ake+Plugin
There are 10 types of people in the world: Those who understand binary, and those who don't...

Transporter
Minaton
Posts: 933
Joined: Mon Mar 05, 2012 11:37 am
Location: Germany
x 110

Re: CI build

Post by Transporter »

TeamCity looks like Jenkins, you have to setup your own servers.

User avatar
Herb
Orc
Posts: 412
Joined: Thu Jun 04, 2009 3:21 am
Location: Kalamazoo,MI
x 38

Re: CI build

Post by Herb »

It's not a big deal to setup a server though... Here's another easy way to do it. Setup jenkins on a lightweight cloud server with basically no processing power (aka cheap to do) and then setup 1 or more build slaves running in someone's basement. It's a great way to have easy access to a public website, but have the horsepower from a handful of people who have some spare beefy machines that can run the builds.

User avatar
Zonder
Ogre Magi
Posts: 1135
Joined: Mon Aug 04, 2008 7:51 pm
Location: Manchester - England
x 58

Re: CI build

Post by Zonder »

Transporter wrote:TeamCity looks like Jenkins, you have to setup your own servers.
Sorry I completely miss-understood what travis was I was thinking of something else :S

I agree it would be interesting if ogre could work with it as it's free for open source, shame about available compilers but having CI is way more important :)
There are 10 types of people in the world: Those who understand binary, and those who don't...

Post Reply