Automated static analysis & linting bot for Mozilla repositories
Перейти к файлу
Valentin Rigal 2e4e05cfc0
Compare issues with the backend (a.k.a. before/after) (#1581)
* Compare issues with known ones in the backend

* rebase

* Update list_repo_issues helper

* Fix issues grouping by path

* Cache Issue hash computed value

* Repport issues that are tagged as new

* Update publication

* Add a comment section for issues outside the diff

* Publish issues inside or outside the patch in two similar sections of the Phabricator comment

* Only publish new issues to harbormaster

* Improve message for known issues

* Always refer to issues as 'defects' in Phabricator comment

* Fix Phabricator publish return value

* Make sure to run before/after on all the diffs of a revision

* Only store new issues in bot's backend while runing before/after

* Group in and out issue main comments

* Preserve original publications (remove known issues footer)

* Update existing tests

* Add tests

* Use a cached prop for issues' hash

Define local repository in runtime settings

* Fix before after random check for a revision

* Suggestions

* Use itertools.groupby or paths lookup

* Improve RNG seed comment

* Always compare issues that are found inside the diff

* Raise error to sentry when GECKO_BASE_REV is unset on the decision task

* Disable before/after for a non published revision

* Override runtime local repository setting

* Do not display existing issues stats
2023-05-11 07:31:20 +02:00
.github Add prettier linter to pre-commit (#1660) 2023-04-17 13:56:57 +02:00
backend Release 1.6.7 2023-05-11 07:31:20 +02:00
bot Compare issues with the backend (a.k.a. before/after) (#1581) 2023-05-11 07:31:20 +02:00
docs Compare issues with the backend (a.k.a. before/after) (#1581) 2023-05-11 07:31:20 +02:00
events Release 1.6.7 2023-05-11 07:31:20 +02:00
frontend Release 1.6.7 2023-05-11 07:31:20 +02:00
integration Release 1.6.7 2023-05-11 07:31:20 +02:00
tools build(deps): bump taskcluster from 49.1.2 to 49.1.3 in /tools (#1700) 2023-05-11 07:31:19 +02:00
.dockerignore backend: Add django base web application (#161) 2019-10-18 12:29:51 +02:00
.flake8 Use flake8 configuration suggested by black 2023-04-17 12:34:53 +02:00
.gitignore backend: Add django base web application (#161) 2019-10-18 12:29:51 +02:00
.isort.cfg Support cloning a revision's repository to build references to found issues (#1517) 2023-05-11 07:31:18 +02:00
.pre-commit-config.yaml Add prettier linter to pre-commit (#1660) 2023-04-17 13:56:57 +02:00
.taskcluster.yml Add prettier linter to pre-commit (#1660) 2023-04-17 13:56:57 +02:00
CODE_OF_CONDUCT.md Add prettier linter to pre-commit (#1660) 2023-04-17 13:56:57 +02:00
CONTRIBUTING.md Add minimal Docs (#53) 2019-07-19 17:11:05 +02:00
LICENSE Add minimal Docs (#53) 2019-07-19 17:11:05 +02:00
README.md Add prettier linter to pre-commit (#1660) 2023-04-17 13:56:57 +02:00

README.md

Mozilla Code Review

The Code Review Bot aims to give early feedback to Mozilla developers about their patches. We automate code analyzers and publish detected issues on Phabricator as soon as possible, and for all revisions.

This project has 4 parts:

  • bot is a Python script running as a Taskcluster task, reporting issues found in analyzer tasks,
  • backend is a Django web API used to store issues detected by the bot,
  • frontend is an administration frontend (in Vue.js) displaying detailed information about analyses and issues,
  • events is a Python distributed application running in Heroku that receives Phabricator notifications and triggers Try pushes,

📘 Documentation is available in this repository in the docs folder. A good starting point is the architecture description.

📢 You can contact the code review bot's developers on Matrix or on Slack in #code-review-bot.