[mapguide-internals] About your post "I have a dream"
Even Rouault
even.rouault at spatialys.com
Sun Aug 31 12:07:13 PDT 2014
Hi Jackie,
I read your post on http://planet.osgeo.org and can give you some feedback
related to GDAL and CI tools :
* git svn mirroring. Quite easy to setup and maintain :
Initial setup is described in "Git repository setup using git-svn" section of
https://trac.osgeo.org/gdal/wiki/UsingGitToMaintainGDALWorkflow
And I have a cron job that runs every 15 minutes to do the sync :
git svn fetch --use-log-author
git push origin
Note: you could transition completely to GitHub and still make people used to
SVN happy since GitHub offers a SVN read/write view of git repositories. I
didn't use it extensively but seemed to work on a test repository. I didn't do
the transition yet since I find Trac better than GitHub, the GitHub ticket
system missing attachments.
Regarding binaries in SCM, you could probably host them somewhere in a Cloud
storage. Travis VM have good download speed from AWS S3 storage. We've hosted
a few pre-compiled optional dependencies of GDAL in S3 that weren't available
as Ubuntu packages.
* Travis-CI. Their job timeout is apparently now 50 minutes. Sufficient for GDAL
builds that take at most ~ 15 minutes with regression tests
* Coveralls: I did attempts to use it, but due to the relative large size of
GDAL source ( ~ 800 kLOC, blank lines included ), upload to coveralls of the
result failed. I ended up using gcc --coverage and lcov. And push the
resulting HTML files to a dedicated github repo (with use of Travis encrypted
variables to secure the private key of that dedicated repo)
See
https://github.com/rouault/gdal_coverage/blob/trunk_with_coverage/.travis.yml
and http://lists.osgeo.org/pipermail/gdal-dev/2013-July/036652.html
The result can be seen at : http://rawgit.com/rouault/gdalautotest-coverage-
results/master/coverage_html/index.html
* Appveyor. Didn't know it before reading your post! I've just tried it. Not a
huge success. A minimal optimized build of GDAL takes more than 30 minutes,
and then gets killed... Debug builds run in 25 minutes. No time to run tests.
https://ci.appveyor.com/project/rouault/gdal-coverage
Regarding Travis, it is possible to do :
- Windows builds with mingw and mingw64 and running the GDAL Python autotest
suite with Windows Python under wine/wine64 : e.g.
https://github.com/rouault/gdal_coverage/blob/trunk_mingw/.travis.yml
https://github.com/rouault/gdal_coverage/blob/trunk_mingw_w64/.travis.yml
- MacOS builds :
https://github.com/rouault/gdal_coverage/blob/trunk_travis_macosx/.travis.yml
- Windows builds with MSVC running under Wine. I managed to do that with
Visual Studio Express 2005 and 2008 :
https://github.com/rouault/vcexpress2005
https://github.com/rouault/vcexpress2008
The hard part was to manage to find the minimum set of required packages to
download from MS and install them in unattended mode. This works, but I didn't
pursue a lot since I didn't manage to install Python under Wine once Visual
Studio is installed. I also tried setting up VS Express 2010 but couldn't
manage to make an unattended install of it under Wine. The irony is that
building with MSVC under Wine on Travis is faster than Appveyor and its native
Windows VMs !
- I guess Linux 32bit builds shouldn't be too complicated if you install the
ubuntu 32bit support packages.
To have different build targets with Travis, my cron script merges GDAL git
master into the specific CI branches and then pushes them, which trigger the
Travis builds
Hope that can help you.
Regards,
Even
--
Spatialys - Geospatial professional services
http://www.spatialys.com
More information about the mapguide-internals
mailing list