[Mono-dev] [CI] RFC - Mono now building on Cygwin/Windows with Appveyor

Mladen Mihajlovic mmihajlovic at gmail.com
Sun Oct 26 14:20:10 UTC 2014

Brilliant news Alex, I know how much work you put into getting this
working, and how frustrating it must have been to wait for hours to see
whether a build works or not. Well done.

On 26 October 2014 16:14, Alex J Lennon <ajlennon at dynamicdevices.co.uk>

> Hi all,
> I've reached a point where we have an Appveyor configuration file which
> successfully builds Mono under Cygwin on an Appveyor build worker
> (Windows Server 2012 R2 OS image, I believe).
> It's taken longer to get to this point than I had expected, doesn't it
> always, but I hope this will be of some use to others wishing to build,
> use and maintain Mono under Windows.
> The logs of the build history are here, with a downloadable Mono 3.10.0
> zip file "artifact", available from the most recent build, which runs up
> on my local machine.
>     https://ci.appveyor.com/project/ajlennon/mono-817
> The configuration file that Appveyor used for this build is in my fork
> of mono-3.10.0-branch
> https://github.com/DynamicDevices/mono/blob/mono-3.10.0-branch/appveyor.yml
> All commentary and feedback would be much appreciated.
> I'd like to understand what would be involved to get this to a point
> where pull-request into master might be accepted. (NB The config file is
> entirely independent of other Mono files in the repo).
> Thanks to Mladen for the Appveyor suggestion and the template
> configuration script I used as a starting point.
> Also many thanks to Feodor Fitsner at Appveyor who has been very engaged
> and supportive in helping me to get this going over the past week or so.
> (I am very impressed in general with the Appveyor platform and we will
> undoubtedly be using this for commercial work in future).
> Some points perhaps worthy of note,
> - The build configuration script installs needed dependencies, runs
> autogen/configure/make/make install then archives the output installed
> files as a zipfile 'artifact'. This can be downloaded or deployed
> automatically (e.g. FTP)
> - Build testing has shown up a couple of minor issues with
> mono-3.10.0-branch and master needing patches to build under Windows
> - Following on from this I would like and intend to add to the current
> configuration script to package up the output as an installable MSI
> similar to that provided on the official site.
>   (I think monowiz-win32.nsi could be used with NSIS as a starting point
> for this work, although it looks like it might be quite dated in
> comparison to the current installer?)
> - I'd also like to run the Mono tests as a part of the build
> verification. Are they expected to work under Windows/Cygwin?
> - The official mono-3.10.0-branch of Mono does not build under Windows.
> For this to build a commit would need to be cherry-picked to
> mono-3.10.0-branch from master. My fork includes this commit enabling
> the build.
>   (Vincent Povirk's needed commit is in the forked branch of
> mono-3.10.0-branch here
> https://github.com/DynamicDevices/mono/commit/ce29c7c567afc4dcc14155d88250ebf6cfbc6718
> )
> - The current master also does not build which looks to be an inclusion
> ordering issue in mono/metadata/socket-io.c
>    (I think I have addressed this with PR#1366 - for discussion -  as
> there may well be better ways to do this:
> https://github.com/mono/mono/pull/1366)
> - The standard Appveyor plan limits builds to 30 minutes. The Mono build
> is currently taking slightly over 3 hours and so will be cut short on
> the default plan. Feyodor at Appveyor has very kindly put me onto an
> OpenSource build plan which prevents the build being cut short.
> Cheers,
> Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20141026/3ebbc0a5/attachment.html>

More information about the Mono-devel-list mailing list