First Project: Build Notifier

Over the weekend I built a build notifier that shows me when my code projects have passed all their tests or if they failed.

It shows a message on an LCD screen and turns a multi-color LED to red or green. When the build is in process it “breathes” the LED yellow. It uses TravisCI, Heroku, and Github.

It taught me a lot about the basic development cycle and how it works. And all the magic smoke stayed inside the devices!

5 Likes

Very cool, it’s projects like this that is why I’m excited about having an easy WiFi development platform.

1 Like

looks good. mind sharing the lessons learned? and maybe even some code?

The Spark team has been talking for months about a CI process that integrated a local Spark Core to flash and test test every master commit of our firmware repo. I definitely second @avidan’s suggestion to share what you’ve learned!

i also want to see the a spark CI status stoplight like this.

1 Like

I’m filming a video of the whole build later this week. Will post here when it’s done.

Nice. Are you subscribing to a standard Jenkins build feed? Or another CI platform?

I’m using TravisCI. It’s hooked to Github to run a build after any new code is pushed. They will POST to any configured URL when a build starts and then either passes or fails.

I have a small Node.js HAPI app on Heroku that receives this notification and calls my Spark Core’s custom REST URL (/buildstatus) with the human readable string representing the result (“Passed” or “Failed” or “Pending”, plus a few others).

The Core triggers an RGB LED and shows the message on an LCD.

With that many different machines, events, and endpoints involved, it was tricky to debug. The build server can sometimes take a few minutes to start the build after a push to Github. The Node.js/Spark.io part seems pretty stable and consistent.

2 Likes