[mapserver-dev] travis-ci msautotest behavior changes

thomas bonfort thomas.bonfort at gmail.com
Mon Jul 20 10:34:04 PDT 2015


On 20 July 2015 at 17:43, Even Rouault <even.rouault at spatialys.com> wrote:
> Le lundi 20 juillet 2015 17:20:10, thomas bonfort a écrit :
>> Hi devs,
>>
>> The current travis-ci/msautotest setup required us to use a submodule
>> inside our mapserver git repository, which was somehow a pain to use
>> as a submodule tracks a specific commit SHA and not a whole branch:
>>
>> - the submodule's sha needed to be maintained/updated/committed each
>> time there was a change to the msautotest repository itself
>> - it was nearly impossible to have travis-ci run using an msautotest
>> branch from a repo outside of the mapserver organisation, thus making
>> the creation of pull requests difficult to validate if they required
>> an update to the autotests themselves.
>>
>> I've updated the travis test script to now behave like this:
>>
>> - by default, if there's a commit on mapserver/mapserver 's
>> branch-7-0, then the autotests from mapserver/msautotest 's branch-7-0
>> will be used
>> - you can specify which msautotest repo/version should be used by
>> specifying it in the commit message, with a line containing (only) the
>> string msautotest=repo at sha, e.g.
>>
>> msautotest=git://github.com/mapserver/msautotest.git@master
>>
>> or
>>
>> msautotest=git://github.com/tbonfort/msautotest.git@my-feature-branch
>>
>> or
>>
>> msautotest=git://github.com/myuser/msautotest.git@a457de23ea
>
> Hi Thomas,
>
> I agree with your observations on the current situation;
>
> How does that work with a pull request made of several commits ? I suppose
> that only the commit with msautotest= in its message gets tested with the
> specified msautotest version, and others fallback to head of msautotest's
> branch-7-.0 ? So consequence is : add msautotest= to all commits of a PR ?
IIRC, the travis run is only launched on the last commit if you are
going to push multiple commits in one go. If you're pushing e.g. once
a day then you'd have to add the msautotest= part on your last commit
each day. Note that you only need to add that if your branch requires
a modified version of the autotests.

>
> Not sure if there's a developer guide somewhere, but that would be worth
> adding the above in it.
I'd added to the wiki already

>
> Question: is there a strong reason for not having msautotest has a normal
> directory of mapserver repo, and docs too ? too big pershaps ? But I'd hope
> that all developers have mapserver, msautotest and docs checked in, so the
> size argument doesn't really seem relevant.
> Personnaly, I'd find it great/simpler to have a single commit with related
> code, test and doc changes.

I think the initial idea was to keep the commiter authorizations
separate. Running/publishing the doc build from travis would also
prove a bit more difficult if it was on the same repo. What do others
think?

--
Thomas

>
> Even
>
>
> --
> Spatialys - Geospatial professional services
> http://www.spatialys.com


More information about the mapserver-dev mailing list