To improve DevEx in MW core through SonarCloud we should experiment with repositories with similar conditions so the results and learnings can
inform how we will proceed with MW core or global rules.
Parameters for Test Group Selection:
- Repositories should have frequent activity, with at least a few commits per day, to facilitate faster iterations and improvements.
- Teams maintaining these repositories should be accessible for feedback and suggestions.
- The source code for test group projects should primarily consist of MediaWiki Core languages, namely PHP, JavaScript, TypeScript, and HTML.
Considering the above parameters, some of the repos we selected that make good test group candidates are listed below:
| Project | Language | Active Rules | Disabled Rules |
|---|---|---|---|
| CheckUser | PHP | 64 | 213 |
| JavaScript | 199 | 221 | |
| TypeScript | 192 | 234 | |
| HTML | 25 | 58 | |
| CampaignEvents | PHP | 64 | 213 |
| JavaScript | 199 | 221 | |
| TypeScript | 192 | 234 | |
| HTML | 25 | 58 | |
| GrowthExperiments | PHP | 64 | 213 |
| JavaScript | 199 | 221 | |
| TypeScript | 192 | 234 | |
| HTML | 25 | 58 | |
To prevent unintended impacts on non-experiment repositories and ensure a clear separation between the test and control groups, we have developed a SonarCloud experimental bot. This bot provides enhanced analysis reports to developers on Gerrit, which will be continually optimized based on developer feedback and suggestions. The SonarQube experimental bot is hosted on Toolforge, utilizing the Toolforge Build Service.
Currently, approximately 64% of our total production repositories utilize SonarCloud for code health feedback. Details are available in T321837.
