[GRASS-dev] Travis CI

Hi all,

we have just integrated Travis Continuous Integration system [1] to the GRASS source code. Every commit is now build in Travis [2] using gcc and clang. In case the build fails, error message should go to GRASS-dev list.

1 - https://trac.osgeo.org/grass/browser/grass/trunk/.travis.yml
2 - https://travis-ci.org/GRASS-GIS/grass-ci

···

Ivan Minčík
ivan.mincik@gmail.com GPG: 0x79529A1E http://imincik.github.io/0x79529A1E.key
ivan.mincik@gista.sk GPG: 0xD714B02C http://imincik.github.io/0xD714B02C.key

Dear Ivan,

2015-07-21 11:52 GMT+02:00 Ivan Minčík <ivan.mincik@gmail.com>:

we have just integrated Travis Continuous Integration system [1] to the
GRASS source code. Every commit is now build in Travis [2] using gcc and
clang. In case the build fails, error message should go to GRASS-dev list.

thanks for your great contribution! Martin

--
Martin Landa
http://geo.fsv.cvut.cz/gwiki/Landa
http://gismentors.cz/mentors/landa

Dear Ivan,

On Tue, Jul 21, 2015 at 11:52 AM, Ivan Minčík <ivan.mincik@gmail.com> wrote:

Hi all,
we have just integrated Travis Continuous Integration system [1] to the
GRASS source code. Every commit is now build in Travis [2] using gcc and
clang. In case the build fails, error message should go to GRASS-dev list.

Do you think that could be possible also to execute the python tests using:
- python 2.6
- python 2.7
- python 3.4 or 3.5-dev

I'm looking here:

http://docs.travis-ci.com/user/languages/python/

But I'm not sure how can we integrate the C stuff with the python part?
Any ideas?

All the best!

Pietro

Ivan Minčík <ivan.mincik@gmail.com> writes:

Hi all,
we have just integrated Travis Continuous Integration system [1] to the
GRASS source code. Every commit is now build in Travis [2] using gcc and
clang. In case the build fails, error message should go to GRASS-dev list.

This looks very nice - great. But I see it only =compiles under Linux.

I have a .travis.yml [1] and a homebrew formula [2] to install 7.1 from head
under OSX which is also running the tests (although the test are not
running at the moment - I have to investigate why).

I would suggest to merge the check for Mac into your .travis.yml so that
Mac builds are also checked automatically.

Cheers,

Rainer

1 - https://trac.osgeo.org/grass/browser/grass/trunk/.travis.yml
2 - https://travis-ci.org/GRASS-GIS/grass-ci

Footnotes:
[1] https://github.com/rkrug/homebrew-experimental/blob/master/.travis.yml
[2] https://github.com/rkrug/homebrew-head-only

--
Rainer M. Krug
email: Rainer<at>krugs<dot>de
PGP: 0x0F52F982

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Pietro, I have missed your email. Sorry for late answer.

On 23.07.2015 09:22, Pietro wrote:

Dear Ivan,

On Tue, Jul 21, 2015 at 11:52 AM, Ivan Minčík
<ivan.mincik@gmail.com> wrote:

Hi all, we have just integrated Travis Continuous Integration
system [1] to the GRASS source code. Every commit is now build in
Travis [2] using gcc and clang. In case the build fails, error
message should go to GRASS-dev list.

Do you think that could be possible also to execute the python
tests using: - python 2.6 - python 2.7 - python 3.4 or 3.5-dev

I'm looking here:

http://docs.travis-ci.com/user/languages/python/

But I'm not sure how can we integrate the C stuff with the python
part? Any ideas?

I was talking about tests integration with Vasek and waiting for input
from him. There where some problems with inconsistency of datasets
used with tests and also we need to find some good way how to
visualize test results - we could use Vasek's test scripts and upload
resulting HTMLs somewhere.

I am also not sure how to run tests with different Python version.

- --
Ivan Minčík
ivan.mincik@gmail.com GPG: 0x79529A1E
http://imincik.github.io/0x79529A1E.key
ivan.mincik@gista.sk GPG: 0xD714B02C
http://imincik.github.io/0xD714B02C.key
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJVtkorAAoJEPfdLsR5UpoeFFkH/2iE36y8tmmyZZtzwq9rVGAD
Vw6m4QUXfy8zqB0QPZ3SknPW+KjcQ5GsksaFSdooMT4qeYekCup5e2RJ0T+/FUZi
84+3ChhDCHSu+QVHluSud0PDcfRYpSuAPJjziFUaZpkBkJcnvuRixTC0A+SnjrxC
Y2YkjBXJf5MUe9Gxlv2VlsdpprGNSL6V6eqtdIu9/z04bcT9Jc3MDhcem6V2W3/5
MsPhxZ+FQAv9pBmFHNseJ+Cam0Ol/druFFK4PCm+MpPya1JJjEU2wQA2dr1Ylajw
ajDDmp6VN7QrkzOo0hNft9x7f0tOaLU60u88AzO6ooU+6wZNvmxFP0Ks0kf32is=
=KaMF
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 23.07.2015 10:42, Rainer M Krug wrote:

Ivan Minčík <ivan.mincik@gmail.com> writes:

Hi all, we have just integrated Travis Continuous Integration
system [1] to the GRASS source code. Every commit is now build in
Travis [2] using gcc and clang. In case the build fails, error
message should go to GRASS-dev list.

This looks very nice - great. But I see it only =compiles under
Linux.

I have a .travis.yml [1] and a homebrew formula [2] to install 7.1
from head under OSX which is also running the tests (although the
test are not running at the moment - I have to investigate why).

I would suggest to merge the check for Mac into your .travis.yml so
that Mac builds are also checked automatically.

Looks like a good idea, but I have no experience with Mac development.

- --
Ivan Minčík
ivan.mincik@gmail.com GPG: 0x79529A1E
http://imincik.github.io/0x79529A1E.key
ivan.mincik@gista.sk GPG: 0xD714B02C
http://imincik.github.io/0xD714B02C.key
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJVtkz2AAoJEPfdLsR5Upoej+gH/jW+KfMCElgJkIwQ+4q6H19G
FoRcWu3zyjh28isGO2ht8RYMd473zHMQv9ydiTamNUKeraLvWX7ELcpT0dUw+N56
jyV3I+xJPT+Fq938h/E7UOkeYnzc5Q3pdrKqf8+VTjMrKDPHxmWZMBwb/M5KbSNp
Wg3eM1s+v9Nl0tYncSWtxdG6r1GB8Np3Kt5l9HY5RzyO/3NbXl1nZdIM4W7FFVrY
WkMw7qwLfNhvPJZjt09itrjSm82C4KF4cCChJuBLYbZwe+kxZYqyDs4Yl/8OjPTL
nRMhRqg8vV18q6Ri5l+F5wgLwRm1qpLtyT569z4ZqG7lisochW1/LTMsM//sfAA=
=YP7r
-----END PGP SIGNATURE-----

On Mon, Jul 27, 2015 at 11:11 AM, Ivan Mincik <ivan.mincik@gmail.com> wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Pietro, I have missed your email. Sorry for late answer.

On 23.07.2015 09:22, Pietro wrote:

Dear Ivan,

On Tue, Jul 21, 2015 at 11:52 AM, Ivan Minčík
<ivan.mincik@gmail.com> wrote:

Hi all, we have just integrated Travis Continuous Integration
system [1] to the GRASS source code. Every commit is now build in
Travis [2] using gcc and clang. In case the build fails, error
message should go to GRASS-dev list.

Do you think that could be possible also to execute the python
tests using: - python 2.6 - python 2.7 - python 3.4 or 3.5-dev

I’m looking here:

http://docs.travis-ci.com/user/languages/python/

But I’m not sure how can we integrate the C stuff with the python
part? Any ideas?

I was talking about tests integration with Vasek and waiting for input
from him. There where some problems with inconsistency of datasets
used with tests and

I solve the dataset issue during the community sprint. However, there are still some failing tests for various reasons. They must be fixed/discussed individually. Perhaps just in PyGRASS there are some easy-to-fix (pre-7.0) API changes.

http://fatra.cnr.ncsu.edu/grassgistests/summary_report/nc/
http://fatra.cnr.ncsu.edu/grassgistests/reports_for_date-2015-07-27-07-00/report_for_nc_basic_spm_grass7_nc/testfiles.html

also we need to find some good way how to
visualize test results -

There is also simple textual output on stdout but that’s just passed/failed.

Vaclav

we could use Vasek’s test scripts and upload
resulting HTMLs somewhere.

I am also not sure how to run tests with different Python version.

Ivan Mincik <ivan.mincik@gmail.com> writes:

On 23.07.2015 10:42, Rainer M Krug wrote:

Ivan Minčík <ivan.mincik@gmail.com> writes:

Hi all, we have just integrated Travis Continuous Integration
system [1] to the GRASS source code. Every commit is now build in
Travis [2] using gcc and clang. In case the build fails, error
message should go to GRASS-dev list.

This looks very nice - great. But I see it only =compiles under
Linux.

I have a .travis.yml [1] and a homebrew formula [2] to install 7.1
from head under OSX which is also running the tests (although the
test are not running at the moment - I have to investigate why).

I would suggest to merge the check for Mac into your .travis.yml so
that Mac builds are also checked automatically.

Looks like a good idea, but I have no experience with Mac development.

I am using homebrew, a package manager for OSX. This simplifies the
compilation significantly as it takes care of all dependencies. So the
installation script (called recipe) is at [1] and adapted from the 7.0
of osgeo4mac [2].

The travis script uses my recipe from [1] and installs GRASS 7.1 from
HEAD. I'll walk you quickly through the .travis.yml at [3]:

--8<---------------cut here---------------start------------->8---
## to be used for mac (found it somewhere)
## homebrew is installed by default
language: objective-c

## before install, update homebrew
before_install:
  - brew update

## during installation, add the repositories necessary so that when
## installing GRASS 71, all required recipes can be found

install:
  - brew tap rkrug/experimental
  - brew tap rkrug/head-only
  - brew tap rkrug/dev-only
  - brew tap homebrew/science
  - brew update

## Two parallel tests, one for grass-71, the other for the spearfish data
env:
  - RECIPE=nc_spm_08_grass7 INSTALLOPTIONS=""
  - RECIPE=grass-71 INSTALLOPTIONS="--HEAD"
script:
## some tests to test the recipe
  - brew audit -v $RECIPE
## this now actually installs grass-71 in the one session, and spearfish
## in the other
  - brew install $INSTALLOPTIONS $RECIPE
## the test does not work at the moment in the homebrew formula - I will
## check why next week
  - brew test -v $RECIPE
## just uninstall grass again to see if this works
  - brew uninstall $RECIPE
--8<---------------cut here---------------end--------------->8---

So a minimal installation would look as follow (untested!):

--8<---------------cut here---------------start------------->8---
language: objective-c

before_install:
  - brew update

install:
  - brew tap rkrug/experimental
  - brew tap rkrug/head-only
  - brew tap rkrug/dev-only
  - brew tap homebrew/science
  - brew update

env:
  - RECIPE=grass-71 INSTALLOPTIONS="--HEAD"
script:
  - brew audit -v $RECIPE
  - brew install $INSTALLOPTIONS $RECIPE
## - brew test -v $RECIPE
  - brew uninstall $RECIPE
--8<---------------cut here---------------end--------------->8---

And this is it actually. I have seen that it is possible to use one
travis to do tests for different platforms [4], and one could add this
for the OS X platform, but I have no idea how (complete newbie to travis).

I won't have much time during the few next weeks, but I can follow this up
definitely end of August.

Cheers,

Rainer

--
Ivan Minčík
ivan.mincik@gmail.com GPG: 0x79529A1E
http://imincik.github.io/0x79529A1E.key
ivan.mincik@gista.sk GPG: 0xD714B02C
http://imincik.github.io/0xD714B02C.key

_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Footnotes:
[1] https://github.com/rkrug/homebrew-head-only/blob/master/grass-71.rb

[2] https://github.com/OSGeo/homebrew-osgeo4mac

[3] https://github.com/rkrug/homebrew-experimental/blob/master/.travis.yml

[4] http://docs.travis-ci.com/user/multi-os/

--
Rainer M. Krug
email: Rainer<at>krugs<dot>de
PGP: 0x0F52F982

Hi Rainer,

On Jul 28, 2015 10:11 AM, “Rainer M Krug” <Rainer@krugs.de> wrote:

Ivan Mincik <ivan.mincik@gmail.com> writes:

I am using homebrew, a package manager for OSX. This simplifies the
compilation significantly as it takes care of all dependencies. So the
installation script (called recipe) is at [1] and adapted from the 7.0
of osgeo4mac [2].

The travis script uses my recipe from [1] and installs GRASS 7.1 from
HEAD. I’ll walk you quickly through the .travis.yml at [3]:

Maybe these explanations should go into a wiki or trac page? To not get lost?

Markus

Markus Neteler <neteler@osgeo.org> writes:

Hi Rainer,

On Jul 28, 2015 10:11 AM, "Rainer M Krug" <Rainer@krugs.de> wrote:

Ivan Mincik <ivan.mincik@gmail.com> writes:

...

I am using homebrew, a package manager for OSX. This simplifies the
compilation significantly as it takes care of all dependencies. So the
installation script (called recipe) is at [1] and adapted from the 7.0
of osgeo4mac [2].

The travis script uses my recipe from [1] and installs GRASS 7.1 from
HEAD. I'll walk you quickly through the .travis.yml at [3]:

...

Maybe these explanations should go into a wiki or trac page? To not get
lost?

I would be happy to write the installation steps down for GRASS for OSX
using homebrew with the recipe in my repository.

If you tell me where (on which page in the wiki or on a new page?), I could probably add it this evening - Oh -
do I need write access to the wiki?

Thanks,

Rainer

Markus

--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44

Fax (D): +49 - (0)3 21 21 25 22 44

email: Rainer@krugs.de

Skype: RMkrug

PGP: 0x0F52F982

Rainer M Krug <Rainer@krugs.de> writes:

Markus Neteler <neteler@osgeo.org> writes:

Hi Rainer,

On Jul 28, 2015 10:11 AM, "Rainer M Krug" <Rainer@krugs.de> wrote:

Ivan Mincik <ivan.mincik@gmail.com> writes:

...

I am using homebrew, a package manager for OSX. This simplifies the
compilation significantly as it takes care of all dependencies. So the
installation script (called recipe) is at [1] and adapted from the 7.0
of osgeo4mac [2].

The travis script uses my recipe from [1] and installs GRASS 7.1 from
HEAD. I'll walk you quickly through the .travis.yml at [3]:

...

Maybe these explanations should go into a wiki or trac page? To not get
lost?

I would be happy to write the installation steps down for GRASS for OSX
using homebrew with the recipe in my repository.

If you tell me where (on which page in the wiki or on a new page?), I could probably add it this evening - Oh -
do I need write access to the wiki?

Would http://grasswiki.osgeo.org/wiki/Compile_and_Install#Mac_OSX be
appropriate? It seems that I can just edit it and do not need special
access there?

Rainer

Thanks,

Rainer

Markus

--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44

Fax (D): +49 - (0)3 21 21 25 22 44

email: Rainer@krugs.de

Skype: RMkrug

PGP: 0x0F52F982

On Tue, Jul 28, 2015 at 3:39 PM, Rainer M Krug <Rainer@krugs.de> wrote:
...

If you tell me where (on which page in the wiki or on a new page?), I could probably add it this evening - Oh -
do I need write access to the wiki?

Yes. "Thanks" to the spammers we cannot avoid that.
There is a related registration link as in any Mediawiki instance.

Would http://grasswiki.osgeo.org/wiki/Compile_and_Install#Mac_OSX be
appropriate? It seems that I can just edit it and do not need special
access there?

You need to register.

Perhaps you want to write it up in a separate page and link there in
order to avoid that the main Compile_and_Install page gets too long.

Markus

Rainer

Thanks,

Rainer

Markus

--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44

Fax (D): +49 - (0)3 21 21 25 22 44

email: Rainer@krugs.de

Skype: RMkrug

PGP: 0x0F52F982

Markus Neteler <neteler@osgeo.org> writes:

On Tue, Jul 28, 2015 at 3:39 PM, Rainer M Krug <Rainer@krugs.de> wrote:
...

If you tell me where (on which page in the wiki or on a new page?), I could probably add it this evening - Oh -
do I need write access to the wiki?

Yes. "Thanks" to the spammers we cannot avoid that.
There is a related registration link as in any Mediawiki instance.

Would http://grasswiki.osgeo.org/wiki/Compile_and_Install#Mac_OSX be
appropriate? It seems that I can just edit it and do not need special
access there?

You need to register.

Perhaps you want to write it up in a separate page and link there in
order to avoid that the main Compile_and_Install page gets too long.

Good idea. I just started this.

Thanks,

Rainer

Markus

Rainer

Thanks,

Rainer

Markus

--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44

Fax (D): +49 - (0)3 21 21 25 22 44

email: Rainer@krugs.de

Skype: RMkrug

PGP: 0x0F52F982

--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44

Fax (D): +49 - (0)3 21 21 25 22 44

email: Rainer@krugs.de

Skype: RMkrug

PGP: 0x0F52F982

On Tue, Jul 21, 2015 at 11:52 AM, Ivan Minčík <ivan.mincik@gmail.com> wrote:

Hi all,
we have just integrated Travis Continuous Integration system [1] to the
GRASS source code. Every commit is now build in Travis [2] using gcc and
clang. In case the build fails, error message should go to GRASS-dev list.

1 - https://trac.osgeo.org/grass/browser/grass/trunk/.travis.yml
2 - https://travis-ci.org/GRASS-GIS/grass-ci

This is really great! And (unless something in the email chain is
broken), we seem to have quality commits since almost all of the last
135 commits passed and a very low number of Travis complaints arrived
(which got immediately fixed)!

Thanks for setting it up!

Markus

PS: It seems that others are registered here, could we add a link or
so to show GRASS GIS also there?
      https://travis-ci.org/OSGeo/

Hi Ivan, Hi Markus,

I have looked at the .travis.yml at
[https://trac.osgeo.org/grass/browser/grass/trunk/.travis.ym\]l
and merged it with mine by

1) moving the sections of the .travis.yml fiole into scripts:

   - before_install :: .travis.$TRAVIS_OS_NAME.before_install.sh
   - install :: .travis.$TRAVIS_OS_NAME.install.sh
   - script :: .travis.$TRAVIS_OS_NAME.script.sh
   
2) using a travis multiple OS [http://docs.travis-ci.com/user/multi-os/\]
which sets the variable $TRAVIS_OS_NAME to "osx" or "linux" (hopefully
"windows" in the future as well)

So when testing on linux, the scripts with *.linux.*.sh are called, when
testing osx the one=s with *.osx.*.sh get called

3) adding the different compiler to the matrix

So I end up with three separate test scenarios:

,----
| - os: linux
| language: c
| compiler: gcc
|
| - os: linux
| language: c
| compiler: clang
|
| - os: osx
| compiler: objective-c
`----

I forked [https://github.com/GRASS-GIS/grass-ci\] and am running the test
at the moment - see [https://travis-ci.org/rkrug/grass-ci/builds/77484863\]
for the tests.

They completed successful.

There is still some fine tuning which could be done, especially with
including of tests - which should not be to difficult.

What would be the easiest to get the new files into the grass repo, id=f
you are happy with it?

Cheers,

Rainer

Markus Neteler <neteler@osgeo.org> writes:

Hi Ivan,

I asked Rainer who is willing to contribute the MacOSX part (end of the month).

See below.

Thanks, Rainer!

Markus

On Fri, Aug 14, 2015 at 10:09 AM, Rainer M Krug <r.m.krug@gmail.com> wrote:

Envoyé de mon iPhone

Le 14 août 2015 à 09:45, Markus Neteler <neteler@osgeo.org> a écrit :

Hi Rainer,

Hi Markus,

given your experience with homebrew, I wondered if you would be
willing to assist in setting up a Travis-CI instance for OSX here:

Yes - That is my idea. To have a Travis-CI instance for all major OS should be the aim.

On Tue, Jul 21, 2015 at 11:52 AM, Ivan Minčík <ivan.mincik@gmail.com> wrote:
Hi all,
we have just integrated Travis Continuous Integration system [1] to the
GRASS source code. Every commit is now build in Travis [2] using gcc and
clang. In case the build fails, error message should go to GRASS-dev list.

1 - https://trac.osgeo.org/grass/browser/grass/trunk/.travis.yml
2 - https://travis-ci.org/GRASS-GIS/grass-ci

--
Ivan Minčík
ivan.mincik@gmail.com GPG: 0x79529A1E
http://imincik.github.io/0x79529A1E.key
ivan.mincik@gista.sk GPG: 0xD714B02C
http://imincik.github.io/0xD714B02C.key

This works well for Linux now.
Reading this email on qgis-psc, I got the impression that it is
"simple" also for OSX:

On Fri, Aug 14, 2015 at 7:31 AM, Nyall Dawson <nyall.dawson@gmail.com> wrote:

On 13 August 2015 at 04:32, Tim Sutton <tim@qgis.org> wrote:
Awesome stuff Nyall - can you give any notes on what specifically you
had to do to enable OS X testing?

Not much really... all the ground work was already in place and were
just waiting on Travis to open up multi OS builds again. Whoever setup
the homebrew install package (Larry?) made it super easy to install
the dependencies, and we already had 99% of the tests passing without
error on OSX. Michael Kirk had also already given this a shot so I was
able to borrow parts of his attempts which also helped a lot.

Nyall
_______________________________________________
Qgis-psc mailing list
Qgis-psc@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-psc

Ivan does not have time for it but he's maybe willing to tell you how
to log into the system.

What do you think?

As you probably know, I have a running Travis-ci for OS X and it could be integrated there.

The homebrew recipe needs some alignment in this case (and possibly
a new more "official" home) but that should be relatively straight
forward.

At the moment I am on holiday but should be able to look at it in the last week of August.

Please remind me of you don't hear from me by end of August.

Cheers and thanks for the offer,

Rainer

Markus

--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44

Fax (D): +49 - (0)3 21 21 25 22 44

email: Rainer@krugs.de

Skype: RMkrug

PGP: 0x0F52F982

Quick update: the tests are running, the forked github repo is

https://github.com/rkrug/grass-ci

and the travis-ci is here (the actually running one)

https://travis-ci.org/rkrug/grass-ci/builds/77509876

It looks good now.

Cheers,

Rainer

Rainer M Krug <Rainer@krugs.de> writes:

Hi Ivan, Hi Markus,

I have looked at the .travis.yml at
[https://trac.osgeo.org/grass/browser/grass/trunk/.travis.ym\]l
and merged it with mine by

1) moving the sections of the .travis.yml fiole into scripts:

   - before_install :: .travis.$TRAVIS_OS_NAME.before_install.sh
   - install :: .travis.$TRAVIS_OS_NAME.install.sh
   - script :: .travis.$TRAVIS_OS_NAME.script.sh
   
2) using a travis multiple OS [http://docs.travis-ci.com/user/multi-os/\]
which sets the variable $TRAVIS_OS_NAME to "osx" or "linux" (hopefully
"windows" in the future as well)

So when testing on linux, the scripts with *.linux.*.sh are called, when
testing osx the one=s with *.osx.*.sh get called

3) adding the different compiler to the matrix

So I end up with three separate test scenarios:

,----
| - os: linux
| language: c
| compiler: gcc
|
| - os: linux
| language: c
| compiler: clang
|
| - os: osx
| compiler: objective-c
`----

I forked [https://github.com/GRASS-GIS/grass-ci\] and am running the test
at the moment - see [https://travis-ci.org/rkrug/grass-ci/builds/77484863\]
for the tests.

They completed successful.

There is still some fine tuning which could be done, especially with
including of tests - which should not be to difficult.

What would be the easiest to get the new files into the grass repo, id=f
you are happy with it?

Cheers,

Rainer

Markus Neteler <neteler@osgeo.org> writes:

Hi Ivan,

I asked Rainer who is willing to contribute the MacOSX part (end of the month).

See below.

Thanks, Rainer!

Markus

On Fri, Aug 14, 2015 at 10:09 AM, Rainer M Krug <r.m.krug@gmail.com> wrote:

Envoyé de mon iPhone

Le 14 août 2015 à 09:45, Markus Neteler <neteler@osgeo.org> a écrit :

Hi Rainer,

Hi Markus,

given your experience with homebrew, I wondered if you would be
willing to assist in setting up a Travis-CI instance for OSX here:

Yes - That is my idea. To have a Travis-CI instance for all major OS should be the aim.

On Tue, Jul 21, 2015 at 11:52 AM, Ivan Minčík <ivan.mincik@gmail.com> wrote:
Hi all,
we have just integrated Travis Continuous Integration system [1] to the
GRASS source code. Every commit is now build in Travis [2] using gcc and
clang. In case the build fails, error message should go to GRASS-dev list.

1 - https://trac.osgeo.org/grass/browser/grass/trunk/.travis.yml
2 - https://travis-ci.org/GRASS-GIS/grass-ci

--
Ivan Minčík
ivan.mincik@gmail.com GPG: 0x79529A1E
http://imincik.github.io/0x79529A1E.key
ivan.mincik@gista.sk GPG: 0xD714B02C
http://imincik.github.io/0xD714B02C.key

This works well for Linux now.
Reading this email on qgis-psc, I got the impression that it is
"simple" also for OSX:

On Fri, Aug 14, 2015 at 7:31 AM, Nyall Dawson <nyall.dawson@gmail.com> wrote:

On 13 August 2015 at 04:32, Tim Sutton <tim@qgis.org> wrote:
Awesome stuff Nyall - can you give any notes on what specifically you
had to do to enable OS X testing?

Not much really... all the ground work was already in place and were
just waiting on Travis to open up multi OS builds again. Whoever setup
the homebrew install package (Larry?) made it super easy to install
the dependencies, and we already had 99% of the tests passing without
error on OSX. Michael Kirk had also already given this a shot so I was
able to borrow parts of his attempts which also helped a lot.

Nyall
_______________________________________________
Qgis-psc mailing list
Qgis-psc@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-psc

Ivan does not have time for it but he's maybe willing to tell you how
to log into the system.

What do you think?

As you probably know, I have a running Travis-ci for OS X and it could be integrated there.

The homebrew recipe needs some alignment in this case (and possibly
a new more "official" home) but that should be relatively straight
forward.

At the moment I am on holiday but should be able to look at it in the last week of August.

Please remind me of you don't hear from me by end of August.

Cheers and thanks for the offer,

Rainer

Markus

--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44

Fax (D): +49 - (0)3 21 21 25 22 44

email: Rainer@krugs.de

Skype: RMkrug

PGP: 0x0F52F982

Hi

is anything happening in regards to the travis-ci integration? I did not
get any feedback or how I can submit it to the svn.

In regards to testing: I know about the python gunit tests [1]. Are
there any other tests which should be included in the scripts? Should
detailed results generated by the tests be uploaded somewhere in case of
an error? Or always? If yes, where?

Also, should the same tests be done for other versions?

Cheers,

Rainer

Rainer M Krug <Rainer@krugs.de> writes:

Quick update: the tests are running, the forked github repo is

https://github.com/rkrug/grass-ci

and the travis-ci is here (the actually running one)

https://travis-ci.org/rkrug/grass-ci/builds/77509876

It looks good now.

Cheers,

Rainer

Rainer M Krug <Rainer@krugs.de> writes:

Hi Ivan, Hi Markus,

I have looked at the .travis.yml at
[https://trac.osgeo.org/grass/browser/grass/trunk/.travis.ym\]l
and merged it with mine by

1) moving the sections of the .travis.yml fiole into scripts:

   - before_install :: .travis.$TRAVIS_OS_NAME.before_install.sh
   - install :: .travis.$TRAVIS_OS_NAME.install.sh
   - script :: .travis.$TRAVIS_OS_NAME.script.sh
   
2) using a travis multiple OS [http://docs.travis-ci.com/user/multi-os/\]
which sets the variable $TRAVIS_OS_NAME to "osx" or "linux" (hopefully
"windows" in the future as well)

So when testing on linux, the scripts with *.linux.*.sh are called, when
testing osx the one=s with *.osx.*.sh get called

3) adding the different compiler to the matrix

So I end up with three separate test scenarios:

,----
| - os: linux
| language: c
| compiler: gcc
|
| - os: linux
| language: c
| compiler: clang
|
| - os: osx
| compiler: objective-c
`----

I forked [https://github.com/GRASS-GIS/grass-ci\] and am running the test
at the moment - see [https://travis-ci.org/rkrug/grass-ci/builds/77484863\]
for the tests.

They completed successful.

There is still some fine tuning which could be done, especially with
including of tests - which should not be to difficult.

What would be the easiest to get the new files into the grass repo, id=f
you are happy with it?

Cheers,

Rainer

Markus Neteler <neteler@osgeo.org> writes:

Hi Ivan,

I asked Rainer who is willing to contribute the MacOSX part (end of the month).

See below.

Thanks, Rainer!

Markus

On Fri, Aug 14, 2015 at 10:09 AM, Rainer M Krug <r.m.krug@gmail.com> wrote:

Envoyé de mon iPhone

Le 14 août 2015 à 09:45, Markus Neteler <neteler@osgeo.org> a écrit :

Hi Rainer,

Hi Markus,

given your experience with homebrew, I wondered if you would be
willing to assist in setting up a Travis-CI instance for OSX here:

Yes - That is my idea. To have a Travis-CI instance for all major OS should be the aim.

On Tue, Jul 21, 2015 at 11:52 AM, Ivan Minčík <ivan.mincik@gmail.com> wrote:
Hi all,
we have just integrated Travis Continuous Integration system [1] to the
GRASS source code. Every commit is now build in Travis [2] using gcc and
clang. In case the build fails, error message should go to GRASS-dev list.

1 - https://trac.osgeo.org/grass/browser/grass/trunk/.travis.yml
2 - https://travis-ci.org/GRASS-GIS/grass-ci

--
Ivan Minčík
ivan.mincik@gmail.com GPG: 0x79529A1E
http://imincik.github.io/0x79529A1E.key
ivan.mincik@gista.sk GPG: 0xD714B02C
http://imincik.github.io/0xD714B02C.key

This works well for Linux now.
Reading this email on qgis-psc, I got the impression that it is
"simple" also for OSX:

On Fri, Aug 14, 2015 at 7:31 AM, Nyall Dawson <nyall.dawson@gmail.com> wrote:

On 13 August 2015 at 04:32, Tim Sutton <tim@qgis.org> wrote:
Awesome stuff Nyall - can you give any notes on what specifically you
had to do to enable OS X testing?

Not much really... all the ground work was already in place and were
just waiting on Travis to open up multi OS builds again. Whoever setup
the homebrew install package (Larry?) made it super easy to install
the dependencies, and we already had 99% of the tests passing without
error on OSX. Michael Kirk had also already given this a shot so I was
able to borrow parts of his attempts which also helped a lot.

Nyall
_______________________________________________
Qgis-psc mailing list
Qgis-psc@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-psc

Ivan does not have time for it but he's maybe willing to tell you how
to log into the system.

What do you think?

As you probably know, I have a running Travis-ci for OS X and it could be integrated there.

The homebrew recipe needs some alignment in this case (and possibly
a new more "official" home) but that should be relatively straight
forward.

At the moment I am on holiday but should be able to look at it in the last week of August.

Please remind me of you don't hear from me by end of August.

Cheers and thanks for the offer,

Rainer

Markus

Footnotes:
[1] https://grass.osgeo.org/grass71/manuals/libpython/gunittest_running_tests.html

--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44

Fax (D): +49 - (0)3 21 21 25 22 44

email: Rainer@krugs.de

Skype: RMkrug

PGP: 0x0F52F982

Hi Rainer,

On Thu, Sep 3, 2015 at 11:24 AM, Rainer M Krug <Rainer@krugs.de> wrote:

Hi

is anything happening in regards to the travis-ci integration? I did not
get any feedback or how I can submit it to the svn.

Ideally open a ticket a submit a diff. That’s what I do (although I can actually commit) for things which are unclear, unfinished or need discussion, see e.g. #2732.

https://trac.osgeo.org/grass/ticket/2732

In regards to testing: I know about the python gunit tests [1]. Are
there any other tests which should be included in the scripts? Should
detailed results generated by the tests be uploaded somewhere in case of
an error? Or always? If yes, where?

The tests should run as well. We probably cannot upload the detailed results anywhere. There is some basic text output however. Perhaps we should add option to gunittest to not generate the detailed output at all.

The other issues that it takes much more time then compilation and it needs to download data.

Finally, the tests are still not at 100%, although we are pretty close:

http://fatra.cnr.ncsu.edu/grassgistests/summary_report/nc/index.html

Also, should the same tests be done for other versions?

Probably yes. I don’t know how difficult would be to sync Git repo also for release branch. I’m also not sure about differences for Travis between Git solution in comparison to Homebrew but I suppose you do :slight_smile:

Vaclav

Vaclav Petras <wenzeslaus@gmail.com> writes:

Hi Rainer,

On Thu, Sep 3, 2015 at 11:24 AM, Rainer M Krug <Rainer@krugs.de> wrote:

Hi

is anything happening in regards to the travis-ci integration? I did not
get any feedback or how I can submit it to the svn.

Ideally open a ticket a submit a diff. That's what I do (although I can
actually commit) for things which are unclear, unfinished or need
discussion, see e.g. #2732.

https://trac.osgeo.org/grass/ticket/2732

Done.

see https://trac.osgeo.org/grass/ticket/2733

In regards to testing: I know about the python gunit tests [1]. Are
there any other tests which should be included in the scripts? Should
detailed results generated by the tests be uploaded somewhere in case of
an error? Or always? If yes, where?

The tests should run as well. We probably cannot upload the detailed
results anywhere. There is some basic text output however. Perhaps we
should add option to gunittest to not generate the detailed output at all.

From the travis-ci side, this is not a problem as far as I know, but it
obviously would be good to avoid upload of unnecessary data.

Yes - a summary outout and, in the case of failed tests, uploading detailed
results of this individual test, would be an option?

The other issues that it takes much more time then compilation and it needs
to download data.

The download of the data is already in the script - so that is no
problem. Running time is, as far as I know, not that restricted, but I
would have to investigate.

Finally, the tests are still not at 100%, although we are pretty close:

http://fatra.cnr.ncsu.edu/grassgistests/summary_report/nc/index.html

This looks impressive.

Also, should the same tests be done for other versions?

Probably yes. I don't know how difficult would be to sync Git repo also for
release branch.

No idea - but I assume only a script which is mirroring the grass svn to
github. At the moment it seems only trunc is mirrored.

There is also the option to not mirror anything at all, but get the
branch from the svn when the tests on travis-ci are started, and only to
have a github repo for the actual travis files - but the mirroring would
be cleaner.

I'm also not sure about differences for Travis between Git solution in
comparison to Homebrew but I suppose you do :slight_smile:

What do you mean by "Git solution"? Homebrew downloads the grass repo
(svn or github, at the moment from svn) when run and installs it.

For the normal travis-ci (Linux) approach, the github repo is used
(which is a mirror of the svn repo).

Cheers,

Rainer

Vaclav

--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44

Fax (D): +49 - (0)3 21 21 25 22 44

email: Rainer@krugs.de

Skype: RMkrug

PGP: 0x0F52F982

Hi,

I just saw (again) this page:
https://scan.coverity.com/travis_ci

Could we now feed coverity scan through Travis?

Markus