veggiemonk / ci-hackathon

Art for continuous integration.

Home Page:https://castor-software-days-2019.github.io/ci_art_hackathon

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The KTH Continuous Integration Hackathon

We build beautiful visualizations or sonifications of continuous integration (of compilation, test, analysis, packaging, deployment, etc).

The Concept

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.

Participants

To participate to the hackathon, simply make a pull-request on this repo.

Participants:

Program of October 14 2019

  • 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

Technology

Travis API

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/

WebSocket

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 (NodeJS)

Travis Listener provides a websocket server for easier use (documentation)

Visualization

Sonification

For sonification, one can use the library tone.js

Frequently Asked Questions

  • 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.

About

Art for continuous integration.

https://castor-software-days-2019.github.io/ci_art_hackathon


Languages

Language:JavaScript 43.4%Language:HTML 31.5%Language:Python 25.1%