Difference between revisions of "BuildStatusTrafficLight"

From RevSpace
Jump to navigation Jump to search
Line 11: Line 11:
  
 
It can show the following statuses:
 
It can show the following statuses:
* green: build is OK
+
* <span style="background:#00FF00">green</span>: build is OK
* yellow: build compiles but a unit test fails  
+
* <span style="background:#FFFF00">yellow</span>: build compiles but a unit test fails
* red: build has failed to compile
+
* <span style="background:#FF0000">red</span>: build has failed to compile
* yellow flashing: build status unknown, e.g. still starting up, connection problem, or we receive a status we don't understand
+
* <span style="background:#FFFF00; text-decoration:blink">yellow flashing</span>: build status unknown, e.g. still starting up, connection problem, or we receive a status we don't understand
  
 
== Hardware ==
 
== Hardware ==

Revision as of 16:29, 23 October 2018

Project BuildStatusTrafficLight
BuildStatusTrafficLight.png
A traffic light showing CI build status
Status Initializing
Contact bertrik
Last Update 2018-10-23

Introduction

The end result of this project is a traffic light that shows the status of a software build.

It can show the following statuses:

  • green: build is OK
  • yellow: build compiles but a unit test fails
  • red: build has failed to compile
  • yellow flashing: build status unknown, e.g. still starting up, connection problem, or we receive a status we don't understand

Hardware

The plan is to use an ESP8266 along with a modified toy traffic light. For example a Wemos D1 mini.

Bonus point if we can add sound when the status changes.

This one has been ordered, to be modified with the ESP8266.

Software

ESP8266

Source code can be found here.

It is written in C/C++ for Arduino for quick and easy development using existing libraries, like WifiManager, PubSubClient.

The plan is to simply listen to an MQTT stream. To keep things secure and secret as much as possible, I plan to use an encrypted link to the MQTT server along with a username/password.

External links