Skip to content
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

Some of our tools use latest SDKs to build instead of specifically declared ones #4935

Closed
konrad-jamrozik opened this issue Dec 10, 2022 · 1 comment
Assignees
Labels
Central-EngSys This issue is owned by the Engineering System team.

Comments

@konrad-jamrozik
Copy link
Contributor

konrad-jamrozik commented Dec 10, 2022

We shouldn't depend on latest .NET SDK to build our projects. It may lead to breakage, similarly as depending on latest Ubuntu led to breakage, per #4888.

Notably, using newer versions of SDKs to build projects targeting older versions will generate warning on SDKs being out of support, and our pipelines appear to fail builds on these warnings. Details provided in #4934.

Coming back to Ubuntu - even if we set an Ubuntu image, in given image the latest .NET SDK changes over time. For example, for Ubuntu 20.04, which we use in many places. See blame on relevant line from the image included-software doc (see line 191). On that image, the latest .NET was v6 until v7 was introduced on Nov 24, 2022 (see line 194).

As a result of this moving target, for example the pipeline tools - ConfigureFabricBot was using different MSBuild versions even though nothing changed on our side.

A build from June 23, 2022 was using MSBuild 17.2.0:

Microsoft (R) Build Engine version 17.2.0+41abc5629 for .NET

while a build from December 9, 2022 was using MSBuild 17.4.0:

MSBuild version 17.4.0+18d5aef85 for .NET

These MSBuild versions correspond to .NET versions 6.0.300 and 7.0.100 respectively, per this table in Overview of .NET, MSBuild, and Visual Studio versioning / Lifecycle. This used MSBuild version change happened because of the the aforementioned introduction of .NET 7 to the underlying image on Nov 24, 2022.

Proposed solution

Ensure that all of our pipelines set .NET SDK version. In particular, don't use SkipDotNetInstall, as e.g. introduced in PR #1853.

Related issues

#4934
#4888

@konrad-jamrozik
Copy link
Contributor Author

Closing. This work item was addressed by

By getting rid of all SkipDotNetInstall, like e.g. here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Central-EngSys This issue is owned by the Engineering System team.
Projects
None yet
Development

No branches or pull requests

1 participant