I use a selection of tox tasks. Here are the tox tasks that I use the most:
- py27-gcp
- py35-gcp
- py27-cython
- py35-cython
- py35-lint
- py27-lint

Most recently, I'll run `tox -e py3-gcp,py3-lint`, which run fairly
quickly. You can choose which subset works for you.
My insight is: Lints are pretty fast, so it's fine to add a couple
different lints. Unittest runs are pretty slow, so I usually go for the one
with most coverage for my change (x-gcp, or x-cython).
Best
-P.

On Mon, Feb 25, 2019 at 4:33 PM Ruoyun Huang <[email protected]> wrote:

> nvm.  Don't take my previous non-scientific comparison (only ran it once)
> too seriously. :-)
>
> I tried to repeat each for multiple times and now the difference
> diminishes.  likely there was a transient error in caching.
>
> On Mon, Feb 25, 2019 at 3:38 PM Kenneth Knowles <[email protected]> wrote:
>
>> Ah, that is likely caused by us having ill-defined tasks that cannot be
>> cached. Or is it that the configuration time is so significant?
>>
>> Kenn
>>
>> On Mon, Feb 25, 2019 at 11:05 AM Ruoyun Huang <[email protected]> wrote:
>>
>>> Out of curiosity as a light gradle user, I did a side by side
>>> comparison, and the readings confirm what Ken and Michael suggests.
>>>
>>> In the same repository, do gradle clean then followed by either of the
>>> two commands. Measure their runtime respectively.  The latter one takes
>>> *1/3* running time.
>>>
>>> time ./gradlew spotlessApply && ./gradlew checkstyleMain && ./gradlew
>>> checkstyleTest && ./gradlew javadoc && ./gradlew findbugsMain && ./gradlew
>>> compileTestJava && ./gradlew compileJava
>>> real 9m29.330s user 0m11.330s sys 0m1.239s
>>>
>>> time ./gradlew spotlessApply checkstyleMain checkstyleTest javadoc
>>> findbugsMain compileJava compileTestJava
>>> real    3m35.573s
>>> user    0m2.701s
>>> sys     0m0.327s
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Mon, Feb 25, 2019 at 10:47 AM Alex Amato <[email protected]> wrote:
>>>
>>>> @Michael, no particular reason. I think Ken's suggestion makes more
>>>> sense.
>>>>
>>>> On Mon, Feb 25, 2019 at 10:36 AM Udi Meiri <[email protected]> wrote:
>>>>
>>>>> Talking about Python:
>>>>> I only know of "./gradlew lint", which include style and some py3
>>>>> compliance checking.
>>>>> There is no auto-fix like spotlessApply AFAIK.
>>>>>
>>>>> As a side-note, I really dislike our python line continuation indent
>>>>> rule, since pycharm can't be configured to adhere to it and I find myself
>>>>> manually adjusting whitespace all the time.
>>>>>
>>>>>
>>>>> On Mon, Feb 25, 2019 at 10:22 AM Kenneth Knowles <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> FWIW gradle is a depgraph-based build system. You can gain a few
>>>>>> seconds by putting all but spotlessApply in one command.
>>>>>>
>>>>>> ./gradlew spotlessApply && ./gradlew checkstyleMain checkstyleTest
>>>>>> javadoc findbugsMain compileTestJava compileJava
>>>>>>
>>>>>> It might be clever to define a meta-task. Gradle "base plugin" has
>>>>>> the notable check (build and run tests), assemble (make artifacts), and
>>>>>> build (assemble + check, badly named!)
>>>>>>
>>>>>> I think something like "everything except running tests and building
>>>>>> artifacts" might be helpful.
>>>>>>
>>>>>> Kenn
>>>>>>
>>>>>> On Mon, Feb 25, 2019 at 10:13 AM Alex Amato <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> I made a thread about this a while back for java, but I don't think
>>>>>>> the same commands like sptoless work for python.
>>>>>>>
>>>>>>> auto fixing lint issues
>>>>>>> running and quick checks which would fail the PR (without running
>>>>>>> the whole precommit?)
>>>>>>> Something like findbugs to detect common issues (i.e. py3 compliance)
>>>>>>>
>>>>>>> FWIW, this is what I have been using for java. It will catch pretty
>>>>>>> much everything except presubmit test failures.
>>>>>>>
>>>>>>> ./gradlew spotlessApply && ./gradlew checkstyleMain && ./gradlew
>>>>>>> checkstyleTest && ./gradlew javadoc && ./gradlew findbugsMain && 
>>>>>>> ./gradlew
>>>>>>> compileTestJava && ./gradlew compileJava
>>>>>>>
>>>>>>
>>>
>>> --
>>> ================
>>> Ruoyun  Huang
>>>
>>>
>
> --
> ================
> Ruoyun  Huang
>
>

Reply via email to