About as easy as getting Travis set up, at least to start up the first few builds. If your package has binary dependencies, then how are you enforcing that those dependencies are available and in an expected location across all platforms? If you're currently using BinDeps to download the necessary precompiled libraries for Windows users, then AppVeyor is a good way to test if that process "just works" from scratch in a controlled environment without needing a Windows machine to test on yourself.
If you don't have BinDeps set up in a transparent way yet, then a CI environment isn't the ideal place to put it together. A local VM, or trying to find a Windows-knowledgeable developer with enough time or a Windows user with enough expertise to help out would be more effective. For anything with a POSIX-y build system (like Julia itself, needing gmake and bash), I generally go for installing Cygwin or MSYS. In the case of libgit2 you can install cmake from Chocolatey (which is pre-set up on the AppVeyor VM's) http://chocolatey.org/packages/cmake, if there are no binary downloads available and if it's feasible to build the library from source quickly enough for a CI setting. The WinRPM.jl package is quite effective for those binary dependencies currently available as cross-compiles from the OpenSuse build server, but it doesn't have everything there yet. Putting together cross-compile packages for your favorite library is probably the best long-term way for Windows users to get up and running without having a full build system installed. -Tony On Tuesday, March 11, 2014 1:55:17 PM UTC-7, Jake Bolewski wrote: > > This is really great. As someone who has gone most of his life without > using Windows, how easy is this to set up if you are not a knowledgeable > window's developer? I'm thinking about sometimes hard to build library > dependencies, like libgit2 or an opencl vendor implementation. I would try > this but I'm sure it's painful to debug build errors if you don't have > access to a window's machine setup similar to the CI environment. > > Jake > > On Tuesday, March 11, 2014 4:06:02 PM UTC-4, Ivar Nesje wrote: >> >> This is Great! There is an unfortunate correlation between being a open >> source contributor and not using the most popular operating system among >> users. >> >> You should post this to the julia-dev list. I would assume that fewer >> people skip posts on the lower traffic list, and when this is up and >> running I think that would be quite a milestone for the community. >> >> Ivar >> >> kl. 18:24:28 UTC+1 tirsdag 11. mars 2014 skrev Tony Kelman følgende: >>> >>> I want to make a bit of an announcement for people who don't browse the >>> Github issues list. I've been working on setting up continuous integration, >>> a la Travis, but for Windows using AppVeyor - >>> http://blog.appveyor.com/2014/02/19/appveyor-20-dedicated-build-vms-parallel-testing-nuget-deployment. >>> >>> I have a WIP PR for Julia itself here >>> https://github.com/JuliaLang/julia/pull/6028 with some discussion, but >>> there are some remaining problems I have to solve to get it working for the >>> main Julia codebase. >>> >>> What does work now, and I encourage package maintainers who've been >>> looking for cross-platform testing to set up, is using AppVeyor for Julia >>> packages. Like Travis, it's free for open source projects, but currently >>> only allows one concurrent build at a time on the free plan, time limit 30 >>> minutes per build. I have a very simple example configuration file set up >>> here https://github.com/tkelman/JSON.jl/blob/master/appveyor.yml and >>> you can see what the build result looks like here >>> https://ci-beta.appveyor.com/project/tkelman/json-jl/build/1.0.31. Not >>> much to look at since JSON.jl is a simple self-contained package, but you >>> can see how similar the appveyor.yml configuration file is to the existing >>> travis.yml. I'm using the Julia binary installer instead of the apt-get >>> PPA's, and creating a symlink in Windows requires admin rights so I had to >>> change `ln -s` to `cp -r` (there may be a way to elevate permissions in >>> AppVeyor but I'm not sure how). >>> >>> I think this can be a valuable service to identify Windows bugs faster, >>> since the number of Julia developers who use Windows on a regular basis is >>> understandably limited. AppVeyor's developer/founder has been in touch and >>> would be excited to see more users of the tool he's put together, and he's >>> been very responsive to troubleshooting and feature requests. >>> >>> -Tony >>> >>