ipfs / infra

Tools and systems for the IPFS community
MIT License
132 stars 41 forks source link

CI build monitoring (build matrix) #25

Closed harlantwood closed 8 years ago

harlantwood commented 9 years ago

We have a bunch of projects using CI.

  1. It would be cool, possibly useful too, to have a single page that gathered them all together. Something like:

    http://ci.pivotallabs.com/

    Which is an instance of this rails app:

    https://github.com/pivotal/projectmonitor

    Works with Circle CI, Travis and others. Could run on a free heroku instance (or wherever).

  2. Alternatively, people who care about the overall health of multiple/all builds could pull down status messages to local notifications with CCTray, BuildNotify, etc ( some info on that for Circle here: https://circleci.com/docs/polling-project-status ).
  3. In any case, we should probably add passing/failing badges to the projects' READMEs, so you could see build health there.
  4. We could leave it as is: build failures should notify the committers, and if you want to check, you can probably peruse IPFS builds in Circle or Travis.

Thoughts? I vote for # 3 + # 1, in that order, with optional # 2 encouragement / instructions.

jbenet commented 9 years ago

@harlantwood :+1: :+1: (also, i think markdown numbering bit?)

I'd vote for "we should probably add badges to the readme's, you could see build health there."

I'd also like to have one page that aggregates everything, but dont want to add yet another thing to manage. it we could do it programmatically (i.e. run a program that verifies every repo has CI setup correctly, and is added to whatever program, etc.) that may be fine, but manually is painful and errorprone.

harlantwood commented 9 years ago

Yeah, I like that. Maybe a single page JS app (say hosted on GH pages (and later (or maybe now) IPFS) so there is basically nothing to maintain) that polled all projects under IPFS in Circle (or Travis, but hopefully not both) and:

  1. checked that they had a CI badge on their home page
  2. checked that the build was passing
  3. (maybe) also got the health of the last few builds

And displayed all that on a single page, inspired by, but simpler than http://ci.pivotallabs.com/

Thoughts?

jbenet commented 9 years ago

@harlantwood i would really, really like that. maybe we can have a big grid, a bit like build.golang.org

harlantwood commented 9 years ago

I found something very close. It comes in two visual flavors:

https://gist.github.com/petehamilton/5494978 https://gist.github.com/petehamilton/5494590

This version is mostly ruby. But translating it to run 100% client side should be very easy. I'll take a crack at that when I have time -- or anyone else feel free to take this one too.

harlantwood commented 9 years ago

Another interesting example: http://ethereum-buildboard.meteor.com/

harlantwood commented 8 years ago

OK, I'm going to take a stab at a fully client-side build monitor tool that can run from IPFS.

THIS LIST IS DEPRECATED, PLEASE SEE THE NEW VERSION AT https://github.com/ipfs/ci-status/issues/1#issue-115979968

Features:

Deployment:

harlantwood commented 8 years ago

So far we are showing travis and circle build status for each repo in IPFS org. Very cool, I've been wanting to do this for a while!

try this first: https://ipfs.io/ipfs/QmdicuP1EArpwc5avocNeBCw3Zd4CDAguhcuKy7rDxkzTq/

backup url: http://harlantwood.github.io/repos/

source: https://github.com/harlantwood/repos

Feedback anyone?

Likely interested: @RichardLitt @jbenet @diasdavid @dignifiedquire

daviddias commented 8 years ago

This is pretty sweet! :D This could go into something like dashboard.ipfs.io with stats about the status of our public gateways, some metrics about the network, commit activity in all the projects, all of the things :D

dignifiedquire commented 8 years ago

Good stuff ! but there seem to be a lot of unkown builds atm.

harlantwood commented 8 years ago

Can someone with access fork this over to the ipfs github org plz? @jbenet @whyrusleeping

harlantwood commented 8 years ago

What is the right name for this dashboard? I think 'dashboard' is not so great because webui has a lot of dashboard-ness.

I suggest 'status'. Lives at status.ipfs.io

Other name suggestions?

dignifiedquire commented 8 years ago

How about code.ipfs.io?

ghost commented 8 years ago

build.ipfs.io? status and dashboard are a bit too generic

jbenet commented 8 years ago

How about ci-status.ipfs.io ?

jbenet commented 8 years ago

forked to https://github.com/ipfs/ci-status

jbenet commented 8 years ago

added @harlantwood as contrib.

harlantwood commented 8 years ago

Closing this issue, moved to https://github.com/ipfs/ci-status/issues/1