microsoft / microsoft/Oryx

Oryx SDK availability lags behind .NET GA releases, causing builds to fail for latest global.json SDK

Open
#3,017 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
881
Forks
195
Avg merge
20h 13m
Merged PRs (30d)
13

Description

Bug Report
  • At what date and time did you most recently experience the problem?

2026-07-31 (UTC)

  • Where did you experience the problem? E.g. Azure Web Apps, Azure Functions, Azure Container Registry, or offline use.

Azure Static Web Apps using the Azure/static-web-apps-deploy GitHub Action on GitHub Actions hosted runners.

  • If your repo is publicly available please share its URL:

Repository is currently private.

  • What happened?

Our repository contains the following global.json:

{
  "sdk": {
    "version": "8.0.422",
    "rollForward": "latestPatch"
  }
}

During deployment, Oryx detected the application and dynamically installed .NET SDK 8.0.420 instead of the SDK requested by global.json (8.0.422).

The subsequent build failed because the .NET SDK resolver correctly requires 8.0.422 (or a later patch in the same feature band) and cannot roll back to 8.0.420.

This appears to be another instance of the long-standing gap between new .NET SDK releases and their availability in Oryx, similar to the discussion in Issue #2005.

I also noticed that there is already a pull request updating the SDK catalog/support (PR #2933). However, the version of Oryx currently used by Azure Static Web Apps still does not include those updates, leaving a period during which repositories targeting the latest GA .NET SDK cannot be built successfully.

It would be helpful to understand the expected cadence between SDK update pull requests being merged and those changes becoming available in the Oryx version used by Azure services such as Azure Static Web Apps.

  • What did you expect or want to happen?

Ideally one of the following:

  1. New GA .NET SDKs should become available in Oryx as quickly as possible after release so that repositories can adopt the latest SDK without deployment failures.

  2. If the requested SDK is not yet available, Oryx should fail early with a clear diagnostic, for example:

    Requested SDK 8.0.422 is not yet available in the current Oryx image. Latest available SDK is 8.0.420.

    This would make it immediately obvious that the failure is due to SDK availability in Oryx rather than an application or repository configuration issue.

The current behavior forces developers to either delay SDK updates, pin to an older SDK, or wait until the updated Oryx image is deployed.

  • How can we reproduce it?
  1. Create a .NET 8 application.
  2. Add the following global.json:
{
  "sdk": {
    "version": "8.0.422",
    "rollForward": "latestPatch"
  }
}
  1. Deploy the application to Azure Static Web Apps using the Azure/static-web-apps-deploy GitHub Action.
  2. Perform the deployment before Oryx has been updated to include the requested SDK version.
  3. Observe that Oryx installs .NET SDK 8.0.420, after which the build fails because global.json requires 8.0.422.
  • Do you have log output? Please include between the backticks:
Oryx Version: 0.2.20260109.4+7d54dd5970dbbf3ae6bdcf4dee57b07816a392ce

Detected following platforms:
  dotnet: 8.0.26

Version '8.0.26' of platform 'dotnet' is not installed. Generating script to install it...

Downloading and extracting 'dotnet' version '8.0.420'...

Requested SDK version: 8.0.422
global.json file: /github/workspace/global.json

Installed SDKs:

Install the [8.0.422] .NET SDK or update [/github/workspace/global.json] to match an installed SDK.

Learn about SDK resolution:
https://aka.ms/dotnet/sdk-not-found

Oryx has failed to build the solution.

Additional context

  • Similar discussion regarding SDK availability lag: Issue #2005
  • SDK update appears to already exist in PR #2933, but it is not yet available in the Oryx version used by Azure Static Web Apps.

Thank you for taking a look. I understand there may be operational reasons for the delay, but greater visibility into the release cadence—or more informative diagnostics when the requested SDK is unavailable—would significantly improve the developer experience.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the deployment reproduction using global.json, Azure/static-web-apps-deploy, and the logged Oryx version 0.2.20260109.4. Compare the available SDK catalog with PR #2933 and the related discussion in issue #2005. Done should either establish how the requested SDK becomes available in the service or define a clear diagnostic when Oryx cannot provide it.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp, github-actions
Domain
build-system, ci-cd, cloud
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.