dotnet / sdk

Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
https://dot.net/core
MIT License
2.73k stars 1.07k forks source link

SDK spends an unreasonable amount of time in restoring out-of-support SDKs #40522

Open ViktorHofer opened 6 months ago

ViktorHofer commented 6 months ago

dotnet-install: Remote file https://dotnetcli.azureedge.net/dotnet/Runtime/1.0.5/dotnet-win-x64.1.0.5.zip size is 31736294 bytes. dotnet-install: Downloaded file https://dotnetcli.azureedge.net/dotnet/Runtime/1.0.5/dotnet-win-x64.1.0.5.zip size is 31736294 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Extracting the archive. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install/windows#dependencies dotnet-install: Installed version is 1.0.5 dotnet-install: Installation finished dotnet-install: Remote file https://dotnetcli.azureedge.net/dotnet/Runtime/1.1.2/dotnet-win-x64.1.1.2.zip size is 33041785 bytes. dotnet-install: Downloaded file https://dotnetcli.azureedge.net/dotnet/Runtime/1.1.2/dotnet-win-x64.1.1.2.zip size is 33041785 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Extracting the archive. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install/windows#dependencies dotnet-install: Installed version is 1.1.2 dotnet-install: Installation finished dotnet-install: Remote file https://dotnetcli.azureedge.net/dotnet/Runtime/2.1.0/dotnet-runtime-2.1.0-win-x64.zip size is 30127100 bytes. dotnet-install: Downloaded file https://dotnetcli.azureedge.net/dotnet/Runtime/2.1.0/dotnet-runtime-2.1.0-win-x64.zip size is 30127100 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Extracting the archive. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install/windows#dependencies dotnet-install: Installed version is 2.1.0 dotnet-install: Installation finished dotnet-install: Remote file https://dotnetcli.azureedge.net/dotnet/Runtime/2.2.8/dotnet-runtime-2.2.8-win-x64.zip size is 29815926 bytes. dotnet-install: Downloaded file https://dotnetcli.azureedge.net/dotnet/Runtime/2.2.8/dotnet-runtime-2.2.8-win-x64.zip size is 29815926 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Extracting the archive. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install/windows#dependencies dotnet-install: Installed version is 2.2.8 dotnet-install: Installation finished dotnet-install: Remote file https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.0/dotnet-runtime-3.1.0-win-x64.zip size is 30926250 bytes. dotnet-install: Downloaded file https://dotnetcli.azureedge.net/dotnet/Runtime/3.1.0/dotnet-runtime-3.1.0-win-x64.zip size is 30926250 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Extracting the archive. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install/windows#dependencies dotnet-install: Installed version is 3.1.0 dotnet-install: Installation finished dotnet-install: Remote file https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.0/dotnet-runtime-5.0.0-win-x64.zip size is 30635089 bytes. dotnet-install: Downloaded file https://dotnetcli.azureedge.net/dotnet/Runtime/5.0.0/dotnet-runtime-5.0.0-win-x64.zip size is 30635089 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Extracting the archive. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install/windows#dependencies dotnet-install: Installed version is 5.0.0 dotnet-install: Installation finished dotnet-install: Remote file https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-win-x64.zip size is 32516454 bytes. dotnet-install: Downloaded file https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-win-x64.zip size is 32516454 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Extracting the archive. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install/windows#dependencies dotnet-install: Installed version is 6.0.0 dotnet-install: Installation finished dotnet-install: Remote file https://dotnetcli.azureedge.net/dotnet/Runtime/7.0.0/dotnet-runtime-7.0.0-win-x64.zip size is 32979736 bytes. dotnet-install: Downloaded file https://dotnetcli.azureedge.net/dotnet/Runtime/7.0.0/dotnet-runtime-7.0.0-win-x64.zip size is 32979736 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Extracting the archive. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install/windows#dependencies dotnet-install: Installed version is 7.0.0 dotnet-install: Installation finished dotnet-install: Remote file https://dotnetcli.azureedge.net/dotnet/Runtime/8.0.0/dotnet-runtime-8.0.0-win-x64.zip size is 33177718 bytes. dotnet-install: Downloaded file https://dotnetcli.azureedge.net/dotnet/Runtime/8.0.0/dotnet-runtime-8.0.0-win-x64.zip size is 33177718 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Extracting the archive. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install/windows#dependencies dotnet-install: Installed version is 8.0.0 dotnet-install: Installation finished

This command took more 2-3 minutes depending on the network connection. As far as I can tell, these downloads run in serial. I'm not sure why we need to download and restore out-of-support SDKs (1.0, 2.1, 2.2.x, 3.1.0, 5.0, 7.0)?

marcpopMSFT commented 5 months ago

These are the runtimes and we have tests that target those. We could potentially change the logic to only restore these when we expect to run tests. We do it on the primary machine so that the stage 2 sdk gets updated with these runtimes and copied to the test machine all at once.

ViktorHofer commented 5 months ago

Right, but why are we restoring 1.0.5 and 1.1.2? I hope we don't run our tests against those runtimes which have been out of support for nearly 10 years now.