-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Rework global.json behavior #46890
Comments
Do you have a specific example we can look at? |
here is the global.json: {
"sdk": {
"version": "8.0.100",
"rollForward": "latestMinor",
"allowPrerelease": false
}
} I go a lot of troubles with |
Ok, so in this case I think you need to raise tickets over at https://github.com/microsoft/azure-pipelines-tasks/issues (perhaps my own issue microsoft/azure-pipelines-tasks#20289 is relevant?) to get these other tools to actually adhere to the semantics of global.json in CI the same way that the .NET Runtime/SDK do locally. |
@baronfel it exists but still global.json has some issues: 1. it uses a static version with a policy (rollforward) instead of an explicit pattern so it is wrongly integrated in most tools, 2. this releases.json file shouldn't be (https://github.com/dotnet/core/blob/main/release-notes/releases-index.json and children links) somehow and consumers should be able to use an immutable path probably. So request to sdk is to make it closer to a registry like apache maven central has, which can be trusted with a clear versioning policy which is reliable with years. Hope it makes sense. |
This request doesn't make sense to me. rollForward allows you to use newer feature bands or minor versions with no "wildcard" versions required and without having to manually specify them. |
@BenjaminBrienen do you mean releases-index.json usage is broken as well and that all sdk versions will be immutable (as binaries)? if so it is fine to close this ticket for me but it was not clear upfront from the docs and integrators do assumptions which are not always that explicit to me. |
(pretty sure there is a ticket for that but didn't find it with github search so please feel free to flag it as duplicate if you have it handy)
Is your feature request related to a problem? Please describe.
I have a project requiring the sdk net8.0 (similarly 9.0) without a minor specifically.
Using global.json is pretty hard since it requires a specific version whereas we want a compatible version with respect of the version policy (latestMinor for ex).
Most CI will fail if you set 8.0.0 because it doesn't exist but depending the environment you can't set the latest - when the SDK is downloaded from a mirror for example - nor you can assume using 8.0.100 is a good choice.
Describe the solution you'd like
Idea is to respect the JSON spec, ie if you have a policy, use the version as a baseline so 8.0.0+latestMinor can resolve 8.0.400 for ex.
Ideally support
x
for wildcards would be neat but is not a requirement (8.x, 8.0.x) since it is redundant with the policy.The text was updated successfully, but these errors were encountered: