prometheus / compliance

A set of tests to check compliance with various Prometheus interfaces
Apache License 2.0
127 stars 44 forks source link

Automation and dashboarding #30

Open mhausenblas opened 3 years ago

mhausenblas commented 3 years ago

It would be useful to have current results available in an automated fashion (via GitHub action) and rendered in a nice dashboard. I'm happy to take a stab at it. Please let me know if you think that's useful and if there are any requirements?

RichiH commented 3 years ago

This would depend on https://github.com/prometheus/compliance/pull/28 at the least, else we end up testing old versions all the time.

I am torn on where such a running log of results should live; maybe https://github.com/prometheus/compliance-results or some such would make more sense?

If it runs in the main repo, we could look at PRs always triggering a test run to commit per-commit-id test results. One concern of this automation would be if a binary can't be downloaded and erreneous 100% FAIL is reported.

Thoughts?

mhausenblas commented 3 years ago

Thanks for the feedback and questions @RichiH!

I don't have a good answer to where the results should stay but you could have a look at what I so far put together in .github/workflows/generate-results.yml which runs once a day dumping it into a sub-dir results/. Note that I've been running this for a few now to let it soak a little and so far no issues.

What I had in mind as the next step was to consume the generated JSON files in a static HTML page with some custom JavaScript to render a nice table. I tried many available tools to turn Go test results into reports but either they didn't quite work or come with huge dependencies, that's why I thought doing some custom rendering would be the best way forward.

roidelapluie commented 3 years ago

It would be great to generate markdown output, therefore we can integrate it in https://prometheus.io