rugged
rugged copied to clipboard
Add Windows CI via AppVeyor
The Windows build has been broken multiple times already, so probably adding CI on Windows via AppVeyor in addition to Travis CI is a good idea. Apparently that was @arthurschreiber's plan already, but it never landed.
As AppVeyor already has MSYS2 installed, it probably makes sense looking into using https://github.com/larskanis/rubyinstaller2 instead of https://github.com/oneclick/rubyinstaller.
I think travis now also has windows support. Not sure how it works though.
Right, but a possible advantage of using AppVeyor in addition to Travis is that more builds could run in parallel, on different services.
For open source projects everything runs in parallel AFAIK.
https://blog.travis-ci.com/2018-10-11-windows-early-release
Maybe not ready for prime time yet?
For open source projects everything runs in parallel AFAIK.
Not everything, but up to 5 builds (that information is actually hard to find in the current documentation). Still, that's probably enough for this project, I agree.
We're using Azure Pipelines on libgit2 itself, and I'm moving LibGit2Sharp over to that as well. Moving to a single, container-oriented build that runs on actual hypervisors has been a big win. I conceded that I'm biased here. But when we did move, we also stopped paying for an AppVeyor subscription, so I think that you'll see the already rather lengthy queue times increase, not decrease.
has been a big win.
In terms of reduced build time (not taking into account queuing time)? Could you share some numbers that compare to Travis / AppVeyor?
I can dig some up, maybe, but in moving, we changed the way we build and test since we have more capability. Since queue time is dramatically lessened, we have a greater opportunity to do more builds and more tests while still getting results for PR validation builds faster. The biggest win (for libgit2) is the queue times, having 10 builds start immediately is a lot bigger impact (for us) than a 5% difference in the time it takes to compile (in either direction).