Gadget's webhooks can analyze any pull request as long as the repo has a proper OTP folder structure. Each tool provides its own way to let you configure it, as you can see below.
When the Elvis's webhook runs on your pull request it checks if there's an elvis.config file in your pull request's branch. If there is one then the configuration and the rules defined in that file are used. In case there is none, the default rules are used.
A complete list of rules available can be found here. Not all of these are part of the set of rules included in the default configuration file.
Xref uses Xref Runner to check your pull requests, that means you can add a xref.config to your path and xref_runner will use it when checking your code.
You can find more info on the format of the xref.config file on xref_runner repository.
The Compiler tool tries to compile your project using either
If you have a
Makefile file your root folder, the Compiler will
execute the following command and collect all compiler warnings.
If you don't have
Makefile, but you have a
file instead, the Compiler will then run:
$ rebar get-deps compile
Dialyzer only works with erlang.mk based projects for now.
If Dialyzer finds a
Makefile in your root folder
it will add a
gadget.mk file of its own and it will run something
very similar to the following list of commands and collect the warnings from
the last one of them:
$ make $ make plt $ make dialyze