KVIrc
KVIrc copied to clipboard
Investigate move from AppVeyor to Azure DevOps
Announcement: https://azure.microsoft.com/en-us/blog/announcing-azure-pipelines-with-unlimited-ci-cd-minutes-for-open-source/
that will possibly have to be deferred:
- there is no qt installed [as i can see in docs], so installing it costs time, which we don't have (see below)
- no mentions of vcpkg. we can't do stuff there anyway, time https://blogs.msdn.microsoft.com/devops/2018/07/09/universal-packages-bring-large-generic-artifact-management-to-vsts/#comment-636785
- no msys so no enchant surely some deps could get built locally but unless i can build everything with vs, its honestly not worth [my time]
rip
and of course i forgot to mention (which is why i was refering to time in the 1st and second one): build jobs can only run for 30 mins.
I'm on the Azure Pipelines teams and want to better understand how we can make the move "turn key".
- Jobs have a 6 hour limit. If you saw 30 min in our docs then it's a bug in the doc. Let me know so I can fix it.
- Our images are open source on GitHub. I'm open to adding qt, msys, and vcpkg. What versions do you need?
thanks for reaching out!
- im not entirely sure if its a bug in the doc. https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=vsts&tabs=yaml#capabilities-and-limitations says its 30 minutes on a free plan maybe the open source part of it is missing?
- msys2: they do have an installer, but the packages in it are updated independently, so latest will possibly work fine; updating and installing packages will take more time as the installation gets older but thats not too much of a deal [for me]
- vcpkg: i honestly don't know the release cycle so i can't comment on how much hassle it would be to keep that up to date to get the latest libs every now and then, its only for gettext and openssl for us (since enchant isn't compatible with msvc ((anymore?) which is also the only reason we need msys, i'd rather keep the size and build time down, but its not possible until there is an enchant vcpkg package, which i don't know if it will ever happen)
- qt: here it gets a little tricky, binary compat isn't guaranteed between qt (major) versions so at some point we'll end up with multiple qt versions in the image as people will start using it. this is upstream supported tho so you can have multiple qt versions installed easily, i'd suggest LTS (5.9) and latest (5.11) since 5.12, which will be next LTS won't be out until november.
Dev on vcpkg :)
We would recommend that you either:
-
git clone https://github.com/microsoft/vcpkg -b <stable commit>
and do the usual bootstrap et al. - Use
vcpkg export --nuget
[1] to make a NuGet package with all your dependencies so you don't even need to get vcpkg inside the CI system at all!
You can get Qt through vcpkg with vcpkg install qt5-base
, which will obey the usual vcpkg stability rules (if you stay on the same vcpkg commit, you get the same library versions).
[1] https://github.com/Microsoft/vcpkg/blob/master/docs/users/integration.md#export
@Dessa
i actually forgot about vcpkg export so no, i can do that locally.
Tracking issues:
LLVM / Clang: https://github.com/Microsoft/azure-pipelines-image-generation/issues/270 Cygwin: https://github.com/Microsoft/azure-pipelines-image-generation/issues/271 Qt: https://github.com/Microsoft/azure-pipelines-image-generation/issues/272
Moved to github actions, closing.