Builds and continuous integration

22 views
Skip to first unread message

iarwain

unread,
Mar 26, 2013, 2:13:09 AM3/26/13
to orx...@googlegroups.com
Hey all,

Sorry for the long silence, but it's never too late to give some news, so here we are! =)

As you know, we integrated Premake and BuildBot a few months ago in order to have a fully automated build process (aka continuous integration).
However it's only recently (as of yesterday) that I added the last missing platform to the setup: iOS.

But let's go back a bit.

The main issues we were trying to fix with that automated setup were:
- it was taking me ~6 hours of manual work to get a release out there, hence the 18 months delay between 1.3rc0 and 1.4rc0
- the doxygen doc in the repository was almost out of date all the time
- while working on a given platform, I sometimes was breaking support for other platforms without knowing it
- the tutorials and tools in the repository were lagging behind the engine dev and were broken from time to time

Those issues are now all gone:
- making a build for all the platforms is as simple as a click in a webpage
- the doxygen doc is updated everytime a header is modified and then submitted automatically by a user named "orxbot"
- every time code gets submitted, BuildBot will compile the changes on all the different platforms, letting us know immediately if something broke (as well as advertising it on IRC in #orx-project)
- tutorials and tools are also compiled every time there's a code change, and they're always using the latest version of the engine

Anyone can monitor the current status of orx by visiting this link: http://buildbot.orx-project.org:8010 and it has pretty colors. ;)

However, as of today, we only have a few build clients to allow the magic to happen:
- Lydesik provides a client that can make builds for Android, Linux32 and Linux64
- Fourbabce provides a client for Linux32 and Linux64
- I provide clients for Visual 2008, Visual 2010, MinGW, iOS and Mac OS X
- Mhyre used to provide a client for MinGW but his client hasn't been available for quite some time

As you can see, we only have redundancy for Linux32 and Linux64. I'd love to have clients that could support the other builds as well, especially Mac OS X and iOS as currently the only client is a 5 year old macbook laptop, which isn't exactly the best setup.

Clients don't have to be online all the time: the server (that I host) will dispatch pending builds to clients whenever they connect.

If you think you could help by providing client machines, please let me know!

Thanks for reading that first long update! =)

Cheers,

Rom

Reply all
Reply to author
Forward
0 new messages