+1 for enabling mypy as a precommit job

This however could be a good occasion to rework the current PythonLint job.
Since yapf has been introduced, some of the checks made by pylint/flake are
now unnecessary and could be dismantled. This would speed-up PythonLint
quite a lot.
I volunteer to help with anything as well.

On Tue, Mar 3, 2020 at 1:43 AM Robert Bradshaw <[email protected]> wrote:

> It seems people are conflating git pre-commit hooks (which IMHO should
> ideally be in the sub-second range, and run when an author does "git
> commit") with jenkins pre-commit tests (for which minutes is nothing
> compared to what we already do). I am +1 to adding mypy to the latter
> for sure, and think we should probably hold off for the former.
>
> On Mon, Mar 2, 2020 at 4:38 PM Udi Meiri <[email protected]> wrote:
> >
> > Off-topic: Python lint via pre-commit should be much faster. (I wrote my
> own modified-file-only lint in the past)
> >
> > On Mon, Mar 2, 2020 at 2:08 PM Kyle Weaver <[email protected]> wrote:
> >>
> >> > Python lint takes 4-5mins to complete. I think if the mypy analysis
> is really on the order of 10s, the additional time won't matter and could
> always be enabled.
> >>
> >> +1 of course it would be nice to make mypy as fast as possible, but I
> don't think speed needs to be a blocker. The productivity gains we'd get
> from reliable type analysis more than offset the cost IMO.
> >>
> >> On Mon, Mar 2, 2020 at 2:03 PM Luke Cwik <[email protected]> wrote:
> >>>
> >>> Python lint takes 4-5mins to complete. I think if the mypy analysis is
> really on the order of 10s, the additional time won't matter and could
> always be enabled.
> >>>
> >>> On Mon, Mar 2, 2020 at 1:21 PM Chad Dombrova <[email protected]>
> wrote:
> >>>>>
> >>>>> I believe that mypy via pre-commit hook will be faster than 10s
> since it only applies to modified files.
> >>>>
> >>>>
> >>>> Correct, with a few caveats:
> >>>>
> >>>> pre-commit can be setup to only run if a python file changes.  so
> modifying a java file won't trigger mypy to run.
> >>>> if *any* python file changes mypy has to run on the whole codebase,
> because a change to one file can affect the others (i.e. a function arg
> type changes).  it's not really meaningful to run mypy on a single file.
> >>>> the mypy daemon tracks which files have changed, and runs incremental
> updates.  so if we setup the precommit hook to run the daemon, we should
> see that get appreciably faster.  I'll do some tests and report back.
>

Reply via email to