CI: Refactor and introduce VSTS builds#4723
Conversation
64a94fb to
3dcdaa6
Compare
c99244e to
4d27196
Compare
4146ecb to
dcc551c
Compare
|
OK. I think that I've addressed your comments, @pks-t.
|
Instead of trying to run coverity builds during the regular PR process, run them during a regularly scheduled cron process. These only need to run nightly, so it makes sense to bring them out of the PR process.
|
OK, seeing as there's no other feedback, I'm going to merge this later today to start getting some idea of how it's performing against PRs. |
|
On Thu, Aug 02, 2018 at 02:11:52AM -0700, Edward Thomson wrote:
OK, seeing as there's no other feedback, I'm going to merge this later today to start getting some idea of how it's performing against PRs.
I was planning to do another review round today. That being said,
as long as Travis/AppVeyor aren't yet being phased out I'm happy
to merge this early-ish to see how it performs.
|
|
I ran out of time today, so I only had a cursory read. From what I saw it looked good to me. I'll have more time to review tomorrow, but feel free to go ahead and merge it. We can still improve things after that. |
I've refactored the build and test scripts quite a bit in order to simplify and reduce complexity. Now all builds are three simple steps:
For example: using Homebrew to install libraries, or downloading and installing mingw. This step will only be run on hosted build agents. Docker images and private build agents (that we provision and provide ourselves) should simply have the dependencies installed correctly.
I've also refactored the build and tests steps so that they can run isolated, without affecting other parts of the system. For example: the ssh server is now started and configured in a way that doesn't touch
$HOME/.ssh. This allows developers to run these scripts without it removing or updating their actual ssh settings. 😁Finally, I've introduced CI builds with Visual Studio Team Services. Immediately, this includes seven build targets:
Per https://github.com/libgit2/discussions/issues/5, I think that we might want to have a separate set of additional builds that run as nightly builds. For example, Linux ARM (Raspberry Pi).
I think that this is worth merging now so that we can evaluate our PRs with it and get a feel for it to ensure that it's faster than our existing CI systems. However it's not ready to completely replace Travis CI or AppVeyor, as we're not doing leak detection here yet.