Hello from sunny and warm Glasgow and Community Over Code.

A series of things lately, have me asking questions about how our
community is doing, how the project is doing and is this something special
to the Cassandra project? Not an easy thing to measure so I decided to find
out if it was possible.

The answer is yes! Linux Foundation already does a health status page for
their projects, with lots of metrics and with an entire subproject called
CHAOSS[1] This lead me to develop this first version of our project health
geared towards apache projects:

https://pmcfadin.github.io/cassandra-project-health/index.html

There are a lot of metrics, but they are grouped into,
 Community: Code and contributor health metrics
 Governance:  How each commit stands up to our standards of testing and
review
 Conversations: Sentiment analysis across every email in dev@ and every
JIRA comment
 Peers: Select group of metrics form other projects as a comparison

A couple things stand out very quickly. We are very responsive on mailing
lists and great with new people. And to nobody's surprise, we are suffering
with PRs.

That lead me to another path. In teams I work with, automated review
pipelines are getting really deep with AI assitance and it's needed. There
is a lot of toil just opening a PR to look at and start a review process.
I've polled collegues, used existing skills like the rustrazorblade
skills[2] and practices I've seen from my own work.

https://pmcfadin.github.io/cassandra-pr-review/

This is a limited group of PRs I did a a POC but ideally, this would be run
as soon as a new PR is recived and the contributor would get a report link
within minutes. I also did not every single script in my pipeline for every
PR. A good example of every script being run is PR 5021:

https://pmcfadin.github.io/cassandra-pr-review/pr/5201/

Some highlights of what it does.
 Check to make sure all elements are present. Tests. Reviewer. CI results.
 Looking at the code changes and suggesting reviewers
 Adversarial code review output
 Static analysis using PMD
 A test plan for if you want to do deeper testing using Easy DB Lab
 A lot lot more...

For new contributors, this gives them immediate feedback and gives them a
self-service aspect. You can run all these locally as well.
For reviewers, you can get a quick glance of the current state of the PR
with low effort

Both of these projects are available as public repos and would love to hear
your feedback. What's missing? What could be better? Jarek Potiuk and I had
a discussion about maybe folding this into Apache Magpie. What do you
think?
https://github.com/pmcfadin/cassandra-pr-review
https://github.com/pmcfadin/cassandra-project-health

Patrick

1. https://www.chaoss.community/kb/metrics-model-starter-project-health/
2. https://github.com/rustyrazorblade/skills

Reply via email to