drone / drone-wall

Dashboard for the Drone CI server
260 stars 45 forks source link

DroneWall should be able to filter a list of branches #18

Closed cantidio closed 8 years ago

cantidio commented 9 years ago

Right wall, drone wall shows the build status of all branches built in Drone CI, it would be interesting if we could filter the branches we want it to show on the wall, we want all of our branches to be tested, but only master and production to be shown on the wall, for instance:

./drone-wall --branches=master,production

It would be awesome if it could display the branch name for that commit somewhere in the wall as well.

epipho commented 9 years ago

:+1:

I would like to see this as well. With the new drone-wall now in place I would love to see the ability to specify per repository which branches are displayed in the main section.

As above we have many branches that we want to build and test, but only want to show a failure in the case of a branch that is "important".

Additionally it would be nice to show multiple entries for repos that have multiple "important" branches. I.e. show two builds with their own statuses for master and production.

All this seems easy enough but I am not sure the best way to configure this. I proposed adding a metadata endpoint to drone in drone/drone#674 but @bradrydzewski didn't care for the idea.

Perhaps @scottferg has some ideas here.

scottferg commented 9 years ago

Per-repo commits are already supported by the API so that wouldn't be a huge deal. Per-branch commit lists are not currently supported (as far as I know).

It wouldn't be a huge deal to implement, just making X number of requests to get the build status vs a single request to /api/user/activity.

epipho commented 9 years ago

Thoughts on where/how the configuration for this would be stored?

scottferg commented 9 years ago

I'm open to suggestion, though an external file is likely the easiest. Just mount it into the container at runtime similar to how the official Nginx container works (which I'm fond of).

bradrydzewski commented 9 years ago

What abut using localstorage in the browser?

I've recently made some cors enhancements and Drone now responds correctly to options requests, allowing you to interact with the Drone API from a different domain. You could essentially run drone-wall as a static website with no server-side component, if you wanted to, and store config data (token, preferences) in localstorage.

Just some food for thought

scottferg commented 9 years ago

That's a possibility. We added the dependency on Node as a way to obfuscate the access_token that the Drone API requires.

gtaylor commented 8 years ago

Would love to be able to filter entire repos out, as well. May be a separate issue, but figured I'd mention it here.

I have a test fork of our primary repos that I toss experimental builds through. I want it to build and act normally within Drone, but don't want it to show on the dash.

Tathanen commented 8 years ago

This should be fairly doable with how v3 of the wall is built. Can supply a list of branches or repos to include or exclude when building the wall via the command line. Will see what I can do.

gtaylor commented 8 years ago

Awesome! We've got drone-wall up on one of the big TVs in the middle of engineering at Reddit. It's been unexpectedly helpful in getting everyone thinking about tests and CI.

Tathanen commented 8 years ago

Closing per 2c0e4db5c6fd53806b4e3411d7d0bc51899cf034. Can now filter by repo or branch name, and the branch name will appear in the latest builds list when it's anything but master.

And with that, v3.1.0 is ready to ship. Will have it up in the next few minutes with some notes.