Correction  - the command is now: tox -e py35-gcp,py35-lint

And it ran on my machine in 5min 40s. Not blazing fast, but at least
significantly faster than waiting for Jenkins : )
Best
-P.

On Tue, Mar 19, 2019 at 5:22 PM Pablo Estrada <[email protected]> wrote:

> 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