Skip to content

Rollback file based workload update fails to upgrade from 8.0.100 to 8.0.101 #37958

Closed
@jeromelaban

Description

@jeromelaban

Describe the bug

When having 8.0.100 installed, with the workloads from that time, using a rollback file, upgrading to 8.0.101 using a rollback file does not install the new workloads and keeps the 8.0.100 installed ones.

This is a behavior that is new to 8.0.x, the upgrade was working properly in 7.0.x.

To Reproduce

  • Create a rollback file with the following content, named 8.0.100.json:
    {
     "microsoft.net.sdk.android": "34.0.43/8.0.100",
     "microsoft.net.sdk.ios": "17.0.8478/8.0.100",
     "microsoft.net.sdk.maccatalyst": "17.0.8478/8.0.100",
     "microsoft.net.sdk.macos": "14.0.8478/8.0.100",
     "microsoft.net.sdk.maui": "8.0.3/8.0.100",
     "microsoft.net.sdk.tvos": "17.0.8478/8.0.100"
    }
  • Create a rollback file with the following content, named 8.0.101.json:
    {
     "microsoft.net.sdk.android": "34.0.52/8.0.100",
     "microsoft.net.sdk.ios": "17.0.8490/8.0.100",
     "microsoft.net.sdk.maccatalyst": "17.0.8490/8.0.100",
     "microsoft.net.sdk.macos": "14.0.8490/8.0.100",
     "microsoft.net.sdk.maui": "8.0.3/8.0.100",
     "microsoft.net.sdk.tvos": "17.0.8490/8.0.100"
    }
  • Install .NET 8.0.100
  • Run the workload install with
    dotnet workload install --from-rollback-file 8.0.100.json android ios maccatalyst maui tvos
  • Install .NET 8.0.101
  • Run the workload install with
    dotnet workload install --from-rollback-file 8.0.101.json android ios maccatalyst maui tvos
  • Run dotnet workload list and notice that the installed workloads are still at 8.0.100 versions.

You can find a github actions repro here https://github.com/jeromelaban/sdk-workloads-bench (37958-sdk-workloads-bench-main.zip).
Here are some logs from the execution of the script above: 37958-sdk-upgrade-issue.txt

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions