[Qgis-psc] [QGIS-Developer] Direct push forbidden to master

Alessandro Pasotti apasotti at gmail.com
Sun Nov 10 03:49:27 PST 2019


On Sun, Nov 10, 2019 at 11:54 AM Matthias Kuhn <matthias at opengis.ch> wrote:

> On 11/10/19 11:42 AM, Sandro Santilli wrote:
>
> On Sun, Nov 10, 2019 at 09:20:11AM +0100, Alessandro Pasotti wrote:
>
>
> Just one thing I would recommend investing a bit more time and money: to be
> able to run a Travis-like test suite locally
>
> +1
>
> I can't remember the last time I had a successful `make check`, bust
> must be decades ago... Improving the ability for devs to run testsuite
> locally is a huge asset. I think it goes along the lines of:
>
>   - Only run tests that can be run on the machine, given the available deps
>     ... and WARN at build/test time about tests being skipped,
>     to hint developer about improving the test coverage
>
>   - Ensure running the tests doesn't mess up with your worktree
>     See https://github.com/qgis/QGIS/pull/31980
>
>   - Make it easy for devs to run single, specific tests, to help
>     when changing a single specific spot of the codebase
>
> See
> https://docs.qgis.org/testing/en/docs/developers_guide/unittesting.html#run-your-tests
> , it says
>
> > If a test fails, you can use the ctest command to examine more closely
> why it failed. Use the -R option to specify a regex for which tests you
> want to run and -V to get verbose output:
>
> > $ ctest -R appl -V
>
>
> Is there more required?
>

That's unfortunately not enough, what I was talking about it run test
locally in the exactly same environment that Travis uses, I tried to
document part of the workflow in
https://github.com/qgis/QGIS/tree/master/.docker but that's not enough to
run the tests (I mean all of them including spelling, clazy and all the
other checks that are run on Travis and that are not in the pre-commit
hook).

There are times when being able to run Travis locally and interactively ssh
into the containers a make changes is the only option.

So, first thing is to have a pre-commit that runs **all** the checks that
are run on Travis, second is to be able to execute Travis environment
locally.



> So, IMHO long life to PRs and Travis for the time being but we need to give
> to the developers the tools to run locally all checks that Travis runs
> remotely so that they are reasonably sure ("reasonably" because Travis
> random unrelated failures are always around the corner) that the build will
> pass and they will be able to debug a Travis failure locally without
> waiting for hours.
>
> Now I realize you're talking about travis-like, that's also something
> good to have, but as it would likely take much more upfront bandwidth
> (docker image download?) and space (docker image) and time, it is also
> good to support more lightweight testing.
>
> --strk;
>
>

-- 
Alessandro Pasotti
w3:   www.itopen.it
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-psc/attachments/20191110/976c85d4/attachment.html>


More information about the Qgis-psc mailing list