Opened 9 years ago

Last modified 5 years ago

#1214 new task

Resurrect buildbot

Reported by: strk Owned by: sac@…
Priority: normal Milestone:
Component: Systems Admin Keywords:
Cc: Mateusz Łoskot, frankw, msmitherdc, Gérald Fenoy, jef

Description

The buildbot service stopped working sometime in the past. Would be nice to have it back online. Lots of information about it here: http://wiki.osgeo.org/wiki/BuildBot_Configuration and here: http://wiki.osgeo.org/wiki/How_to_create_new_OSGeo_BuildBot_instance

I'd be happy to help with this, but would need some pointers to start.

Change History (16)

comment:1 by msmitherdc, 9 years ago

Cc: msmitherdc added

comment:2 by Gérald Fenoy, 9 years ago

Cc: Gérald Fenoy added

comment:3 by Mateusz Łoskot, 9 years ago

Cc: Mateusz Łoskot added; mateusz removed

Use Travis CI, Luke! :-) Having this excellent free for FOSS service available, I personally see little point in investing maintenance effort and hardware resources for self-hosted CI system.

My 5 cents.

comment:4 by robe, 9 years ago

Just my 2c. Most of the effort of managing a buildbot is managing the server and setting up the scripts for each job and revising the scripts when things change. In defense of Jenkins, don't confuse my ineptness and uninterest in making jenkins better as a failure in Jenkins. It took me 30 minutes to figure out how to do what I wanted with it and I stopped there.

When I set up Jenkins it was to replace Hudson and other things I wanted it to do -- most importantly provide automated builds for windows users, least amount of reading to get going, build tarballs and doco for website. It does all that and has nice plugins to abstract away git/svn whatever you need to connect to and polls them.

I chose Debian remember because you and Mark said that is what you would work with. I was pretty disappointed when it was only dustymugs (who uses Slackware might I add and who never promised to help me) that stepped up to the plate to help me.

So my plea is before you go thru this effort outline what buildbot provides that travis and others do not and how much effort it really takes to keep it going.

As Mat said a lot of people like travis because the infrastructure is free and you just have to worry about the scripts. For me it doesn't work completely cause it can't do windows and there are probably things against using it for packaging. I still think we should setup a travis job for PostGIS cause it ain't that much work, people now have a lot of experience (e.g pgrouting, mat, liblas) and it seems and would provide ubuntu testing.

There isn't anything wrong with having many kinds of buildbots when your objective is more testing. Time to learn I doubt is that much for any. It just takes at least one person willing to put in the muscle to keep it going.

comment:5 by strk, 9 years ago

Mat: travis tests a single architecture, not scalable. Robe: I agree the most work is setting up and revising scripts

About jenkins, it seems to me that finding slaves for it is not working very well, and I suspect it's because setting up a jenkins slave takes more effort than setting up a buildbot slave. For a start you need to be happy with running java on your host...

I've no problem with having multiple bots, but as a developer I'd like to look at a single page (I love buildbot's waterfall display) and at a glance tell what's in need for love.

comment:6 by Mateusz Łoskot, 9 years ago

@strk Precisely, it is 64-bit Linux with GCC and clang compilers, so 32-bit builds are feasible too. I don't remember any other architectures tested on Buildbot.

Regarding Windows, I can't help. Anyway, I see your points.

comment:7 by robe, 9 years ago

strk,

Jenkins just requires an sh slave no java required. So my understanding is for linux slaves its very east. Slaves don't need to be running Jenkins at all. I just didn't read that far past that cause I didn't have a linux box. Wanna be debbies slave :). (aside) because after yeh I can build docs, do regressions, poll both svn and git with the plugins, build jdbc jar file, I was full and got lazy reading about what sh scripts to give slaves. Windows slaves are a bit more involved since they can't run sh -- so they have some sort of windows authenication extension java thing for windows.

comment:8 by robe, 9 years ago

actually I misspoke I thought I read somewhere they don't need java but maybe they do. https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-Havemasterlaunchslaveagentviassh

comment:9 by robe, 9 years ago

actually in reading again I think jenkins can do with just ssh as long as we don't have java code. I mistakenly read maven and thought it meant we need java. But pure ssh is fine I think but I don't have a linux/unix box to test with.

strk you want to be debbie's first slave? We can use you as a sh guinea pig.

comment:10 by strk, 9 years ago

robe please let's use postgis tracker to discuss about postgis-specific CI setups, this one is for OSGeo buildbot.

comment:11 by Mateusz Łoskot, 9 years ago

Regina, apology, I blindly clicked & replied, w/o checking URL of the actual tracker I was using.

comment:12 by jef, 9 years ago

Cc: jef added

comment:13 by strk, 6 years ago

As I've been looking at trac for the past few weeks, I'll mention there's a plugin to integrate buildbot with trac: https://trac-hacks.org/wiki/BuildbotPlugin

comment:14 by strk, 6 years ago

Last commit being from 10 years ago :(

comment:15 by strk, 6 years ago

For the record, the gdal IRC channel was found to still have a topic pointing to the buildbot. I feel less lonely now :)

See gdal:#6536

comment:16 by robe, 5 years ago

I have on my list to experiment resurrecting this first for PostGIS needs. Installing on the debian 9 vm I created for postgis testing I setup -- dubbed ianna and using freebsd vm workers (bessie, bessie32) . I chose freebsd as my first venture since it's the most popular OS platform currently not well tested on OSGeo software.

I'll update this as I progress. My hope is my small test can be used to have a wider use.

Note: See TracTickets for help on using tickets.