vs2017/vs2019/llvm-clang-10 full build on GitHub Actions - #420
Conversation
Move build-all.bat from VSO to GitHub Actions
Sid Dahiya (sid-dahiya)
left a comment
There was a problem hiding this comment.
Other than the Vs2019/Vs2017 comment, LGTM.
…oft/cpp_client_telemetry into maxgolov/build_all_vs2017
…metry into maxgolov/build_all_vs2017
… builds (ARM tools are not installed by default on GitHub runners)
…oft/cpp_client_telemetry into maxgolov/build_all_vs2017
|
Martin Harriman (@larvacea) Jason Bray (@bliptec) David Brown (@kindbe) Reiley Yang (@reyang) Matthew Koscumb (@mkoscumb) Please take a look at this one. It's near-zero code change, but quite a bit of projects adjustment. It's re-adding back the full build tests we had to turn off after GitHub hardening on Jun 1st.. Plus it adds new build-all for vs2017(v141), vs2019(v142), vs2019-clang, and a minor C++17 compatibility fix for latest vs2019 compiler update. All checks passed. |
|
Downside is that the longest loop for CI is gonna be now taking 80 minutes: C/C++ CI on Windows (vs2019) / Build (pull_request) Successful in 80m This is (almost) no different than our previous Full Build loop we had on Azure VSO (msasg, locally hosted agent). I'd say that running full build on Windows (Win32, UWP) is still important, as we can more efficiently identify the build breaks as they happen, without chasing for one who broke it after. 80 minutes should not be that bad. In case if some urgent fix has to be integrated, Administrators still have ability to force-merge without completing this check. It is also set to optional. |
| if "%%a"=="m32" ( | ||
| set ARCH=Win32 | ||
| set ARCH_GEN= | ||
| set ARCH_GEN= Win32 |
There was a problem hiding this comment.
Is the space intentional in Win32?
vs2017/vs2019/llvm-clang-10 full build on GitHub Actions
Due to security hardening it is now a bit more problematic to authorize VSO pipelines running on 'external to GitHub' infra.
Instead of maintaining a separate setup, I'm moving all full build loops for Windows from VSO to GitHub Actions:
Why excluding ARM64? Default GitHub Action runners for vs2017 and vs2019 do not install the necessary ARM build tools and SDKs. It takes about 20-25 minutes to download the necessary deps, then another extra 20-30 minutes to build for ARM, adding up to total time of over 1 hour and a half. This was somewhat faster on VSO, where we had a physical box attached - with the VSO / Azure pipeline agent. Now we want to avoid having a separate box for that.
I'm also adding minor code clean-up to make code compatible with latest Visual Studio 2019 (C++17), which triggers an error for anonymous structs.