tango-controls/JTango

Reduce the number of 3rd party GitHub integrations

Closed this issue · 1 comments

Currently we have 3 major 3rd party integrations for code quality analyzing:

  • Codacy
  • Codebeat
  • Sonar

And one for code coverage:

  • Codecov (jacoco VS cobertura)

We need to choose the one combination (analysis + coverage) that best suits our needs and stay with it.

Here is rough estimation:

Codacy:
PRO
- Nice interface
- Ability to set goals
- Integration with coverage (jacoco or cobertura)
- Ability to exclude certain codebase from analysis
CONTRA
- Missing patterns (e.g. complexity, security etc)
- Wide configuration (may require too much time to setup)

Codebeat
PRO
- Simple intuitive interface
- Reliable analysis patterns with explanations (there is no stupid suggestions on missing javadoc etc)
- Focus on complexity
- Quick wins suggestions
CONTRA
- No integration with coverage

Sonar:
PRO
- was used by Soleil
- Nice issues explorer interface with a lot filters
CONTRA
- requires jacoco (IMHO cobertura produces better report)
- no GitHub badge

I have finally managed to get badges for sonar:

Lines Of Code

In fact it is even more interesting, as we can put as many metrics as we want, see, for instance, this link

So we shall stick with SonarCloud!