Saturday, September 24, 2011

Homebrew build status traffic light

Have you ever used build light indicator  (a light, software utility or sound emitter) to inform the team about the current status of the build?  Our team found using one of these, in conjunction with continuous integration and automated testing,  to be a great help towards achieving 98% build stability.  I have a little hobby/side-project going to build a better one starting with a $30 toy traffic light (see picture) and embedding some Arduino electronics that will allow it to be easily setup and used.

What the lights mean:
  • Green means the build is working
  • Red means that it is broken
  • Yellow means whatever you want.  The server is building or a test has failed, but we're giving you X minutes to fix it before the status goes to red.
I'll open source the hardware and software.  I might even sell a few at cost while I'm having fun making them.

Currently, the interface is an ethernet connection that uses DNS & DHCP to plug into your current network with little setup required.  The traffic light will appear as a server that accepts simple commands that change its state.  An optional audio cue will sound indicating a status change.

Potential future features:

  • Data logging the events and overall build stability metrics
  • Server page statistics (graph of stability, etc).
  • Simple display for setup options.
Please send suggestions about what you'd like such device like this to do and how you would like to interface it to your build server software.


James said...

Awesome. When will you have the hardware and software available?

Clinton Keith said...

Hi James,

I have one unit standing by. A client expressed interest, but I suppose if another client wanted it I can send it to them instead (a second unit is almost built).


James said...

I'd happily interface with it via USB or serial or ethernet. I have the traffic light already, so I'd be interesting in seeing your design. There's a simple parallel port version here:

Jonathan Lander said...

Clint, I will take one when you come to visit us in Reykjavik next month!!!

Clinton Keith said...


Yes, it's the same light as that one. Basically, my design is to chop out the electronics that come with it and put an arduino in that directly wires to the LEDs. From there I use the publicly available Ethernet live or the built-in USB/Serial to control it.

Clinton Keith said...


If I have room in my luggage, I'll bring it along.