Validate global.json SDK version before rollForward optimization (#742)

This commit is contained in:
Priya Gupta
2026-06-16 22:56:42 +05:30
committed by GitHub
parent 9a946fdbd5
commit 95a3f8b067
4 changed files with 20 additions and 5 deletions

8
dist/setup/index.js vendored
View File

@@ -79244,7 +79244,13 @@ function getVersionFromGlobalJson(globalJsonPath) {
if (globalJson.sdk && globalJson.sdk.version) {
version = globalJson.sdk.version;
const rollForward = globalJson.sdk.rollForward;
if (rollForward) {
if (rollForward && !semver_1.default.prerelease(version)) {
const versionPattern = /^\d+\.\d+\.[1-9]\d{2,}$/;
if (!versionPattern.test(version)) {
throw new Error(`Version '${version}' is not valid for the 'sdk.version' value in global.json. ` +
`When 'rollForward' is specified, a full SDK version is required. ` +
`See: https://learn.microsoft.com/en-us/dotnet/core/tools/global-json`);
}
const [major, minor, featurePatch] = version.split('.');
const feature = featurePatch.substring(0, 1);
switch (rollForward) {