-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable Windows builds on Azure Pipelines #2632
Conversation
If Azure Pipelines has not time-limit per job, outofcore (tests_outofcore) and visualization (tests_visualization) testing may be possible. Please consider to add vcpkg install |
tools may not be necessary for tests. ( |
I think CMake creates an x86 project by default under Windows. Therefore, the case of x64 has failed.
|
It would be nice to enable visualization build as well. I'm concerned with the build time though. Yes, there is no limit on Azure, however we probably don't want our pipelines to take forever to build. There is no caching, so vcpkg has to install everything from scratch every time. Right now (without
Thanks for the suggestion. This would explain why x64 build failed immediately. The x86 build succeeded, however most tests failed with obscure |
Could it be that the path to the test files is somehow incorrect? If you notice, it's always tests which take files as command line arguments. |
It is mean there is no cache feature in Azure Pipelines? |
Please try to turn on VCPKG_APPLOCAL_DEPS. ( |
If you don't use ninja-build, it is unnecessary to specify them explicitly.
|
I tried without yesterday, but ended up with GCC 5 being picked up as a compiler. However, now I understand that it was because I did not set "Visual Studio 15 2017" as a generator.
Will add with next commit. |
There is at least one test that uses files and succeeded:
Also there are lots of tests that don't load files but also failed. |
The x86 tests seems to have failed, but the tests is running correctly. 👍 |
Just a single failing test on x86 build (due to precision), x64 finished with success. I wonder if we actually need x86 build at all. Does anyone use it anyway? Would it make more sense to rather have an additional VC2015-based x64 build? In the meantime I've pushed a commit with By the way, Azure supports "release" builds that produce artifacts. @UnaNancyOwen do you think it makes sense to try to setup a pipeline that produces all-in-one installer automatically? I don't know how hard this would be, but can imagine it will reduce friction on releases even further. |
(I think it is unnecessary, but) it seems that there is still demand because questions about that comes me still.
I think it is difficult. It requires some manual work (in my procedure). |
I think we have to live without Regarding the x86 build, ok, let's keep it. We need to change the expected value in the SHOT test then. At the moment:
On my Ubuntu machine I get |
I have the impression this particular test failure has occurred non deterministically in the past. If only the OMP version is failing we can first try to replicate the strategy we applied here 2bf4ae0 to ensure a single unified test in both classes. If only OMP fails then at least we're sure it's really the differences introduced in the OMP variant. |
Hmmm, It seems to be 10GB/agent. (Microsoft-hosted agents for Microsoft Pipelines | Microsoft Docs) |
As a workaround, we can also erase the build folder vcpkg uses halfway through the process. They're known to generate a lot of "compilation clutter". For more info see microsoft/vcpkg#248 |
Could it be an option to install VTK from official package? These additional 40 minutes of compilation to the pipeline execution make me feel uneasy. |
I think the best compromise we have is to use windows containers with the dependencies already set up, like you did for Ubuntu. For what I understand Azure Pipelines supports it. Till then I'm also against vtk on the windows CI. |
I did not realize there are containers with Windows inside nowadays! But from what I see they can not be created from a Linux host and I currently don't have access to Windows. Maybe at some later point. Or perhaps some other Windows user could create an image. After merging #2636 both jobs succeeded, so either there was a discrepancy in the OMP and non-OMP tests, or it is a spurious failure and will show up later. Either way, I think this is good to go. I suppose we can drop Appveyor config now. |
We currently do not have a caching feature. We're in the process of designing it. You can see initial plans here. |
Unfortunately, we cannot increase the storage space of agents since we're constrained by the specs of the VMs we use in our pools. We're planning on building a "bring your own server" feature where projects can bring their own, custom hardware, but I don't have an ETA for that. |
@kaylangan Thanks for sharing this information. Looking forward for the caching feature to be implemented! |
No description provided.