Matt writes –
Automated builds should be easy! At my job we use the Jenkins continuous integration server to build our software every time someone commits a change. I wanted to improve the visibility of the build results (especially for failed builds), so I combined a Boarduino and two PowerSwitch Tails from Adafruit with a Staples EasyButton to create an automated build controller.
It has three LEDs to indicate the status of the Jenkins server: red means the last build failed, yellow means a build is in progress, and green means the last build was successful. The PowerSwitch Tails correspond to the red and green LEDs: one turns on when the build fails and the other turns on when it is successful. We connect red and green lamps to the PowerSwitch Tails (although at one point we had a strobe light attached to the “fail” PST — very visible, but not popular).
The EasyButton triggers an automated build. Since we have Jenkins configured to build the software continuously, we use the EasyButton to trigger an automated deployment of our software to our QA machine.
Supporting the hardware is a small Python script. Its job is to poll Jenkins web services to check the build status and to trigger a job whenever someone presses the EasyButton.
Pictures, documentation, and schematics are available at http://counterorbit.org/abc/. The source code for the firmware and Python script is available at http://hg.counterorbit.org/abc/.