-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Description
From #54636
from @eerhardt
@ericstj @ViktorHofer - this is another case where we are splitting ".NET Core 3.1" build with ".NET Current" build. (I had to do that in order to use ComWrappers, because that API came in 5.0.) This means we are going to be missing test coverage for all of these COM interop scenarios for System.Drawing.Common v6.0.0 when running on .NET Core 3.1.
from @ericstj
@ViktorHofer what if this was opt-in per test? A test project could decide to add a configuration for netcore3.1-Windows and we could have one of the build legs (either windows or all-configurations) create the helix work items. Would this require more capacity than a single test additional test assembly?
The overall issue isn't specific to Windows, we need coverage on as many OSs that a library supports, as possible. The cost that I'm concerned about isn't observable in the amount of build agents but in the number of Helix clients that accept work items.
I imagine support for testing on older .NETCoreApp configurations could be implemented in the following way in order:
- Downgrade the TestUtilities.csproj to use
$(NetCoreAppMinimum)
. - Add infra support for running .NETCoreApp tests without a live built testhost (same as for .NETFramework testing) here.
- Add CI legs previous .NET versions that build the respective TFMs and submit jobs to helix for all OSs. Consider adding a new pipeline for that so that it can be scheduled (i.e. nightly).
- Add
NetCoreAppMinimum
/NetCoreAppPrevious
TFMs to the OOB test projects either everywhere or on a per project basis where it makes sense. - Make sure that the new pipeline is monitored to catch regressions in the older .NETCoreApp TFM assets.