Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Dashboard for jenkins builds
Erlang JavaScript Ruby
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
ebin
public
src
test
.gitignore
.travis.yml
Gemfile
Gemfile.lock
Guardfile
Makefile
README.md
rebar
rebar.config

README.md

Cersei

Build Status

I listen to Jenkins and I tell people what I hear. Or something.

Design

  • JSON string received from websocket (jenkins_websocket_client:ws_onmessage/1)
  • jenkins_build_info parses the JSON and fetches full details from jenkins
  • build_output_parser parses the console output to calculate status ({pass/fail, errors: 4, failures: 2, tests: 42, duration: 35.6s})
    • "42 steps (1 failed, 41 passed)" - add 1 to failures, add 42 to total num of tests
    • "81 examples, 3 failures" - add 3 to failures, add 81 to total num of tests
  • build_filter filters project -> groups
    • groups can be pre-defined (foobar -> [foobar-backend, foobar-frontend, foobar-ios])
    • groups can be ad-hoc defined in the client
    • client can subscribe to any group (but only one)
    • project is implicitly a group
  • group_stats contains state on every group's stats at present
    • last test run results
    • on change -> update all subscribers
  • build_group_websocket_handler sends messages to all subscribed clients on a change in a group's stats
Something went wrong with that request. Please try again.