We build beautiful visualizations or sonifications of continuous integration (of compilation, test, analysis, packaging, deployment, etc).
For months, we prepare our prototypes about CI data and activity. On October 14 2019, we meet in the nuclear reactor R1 at KTH for a unique moment of art and software technology.
To participate to the hackathon, simply make a pull-request on this repo.
Participants:
- Thomas Durieux: Continuous Integration Rain repo
- Long Zhang: The King of CI Fighters (details in folder king_of_ci_fighters)
- Simone Stefani: sonification with chords (details in folder stefani)
- Javier Cabrera and Benoit Baudry: the pulse of Travis (details in folder cabrera_baudry
- Add your name / your team with a pull request :-)
- 18:00 Welcome talk by hackathon curator Benoit Baudry
- 18:20 Reading of Code (performer TBA)
- 18:30 Demo and explanation of the Travis API / Websocket (Thomas Durieux)
- 18:40 Demo and Explanation of the organ interface (Simone Stefani)
- 18:50 Demo and Explanation of the light interface (TBA)
- 19h00 - 22:00: Pizza, beer and coding
- 22h00 CI Rain: Thomas Durieux
- 22h15 TBA
- 22h30 TBA
- 22h45 TBA
We use Travis CI as main source of data. Travis CI provides different API end-points to listen to their builds. Reference documentation: https://docs.travis-ci.com/user/developer/
A websocket with Travis builds is available at ws://travis.durieux.me.
PYTHON: pip3 install websocket_client
import websocket
def on_message(ws, message):
print(message)
websocket.enableTrace(True)
ws = websocket.WebSocketApp("wss://travis.durieux.me/",on_message = on_message)
ws.run_forever()
JAVASCRIPT
ws = new WebSocket('wss://travis.durieux.me’);
ws.onmessage = console.log
More information is available here.
Travis Listener provides a websocket server for easier use (documentation)
For sonification, one can use the library tone.js
-
I'm looking for partners, I'd like to create or join a team?
Simply create an issue on this repository and tell what you are looking for.