Skip to content
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

Add exceptional versions #2

Open
wants to merge 1 commit into
base: fix-supported-os
Choose a base branch
from

Conversation

Falco20019
Copy link
Owner

@Falco20019 Falco20019 commented Aug 26, 2024

Contributes to dotnet#9431

This is a draft for an idea brought up by @richlander when discussing about dotnet#9481 (comment)

Comment on lines +139 to +143
"exceptional-versions": [
{
"version": "8",
"note": "CentOS Stream 8 was explicitly never supported."
}
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@omajid From dotnet#9382 I am not fully sure why CentOS Stream 8 was not officially supported. Maybe you want to help here with giving a better reason besides what I was able to come up with.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have a policy to not support an OS if it will go EOL within 6 months (or so) after a given .NET version ships. That rule is at play here.

https://blog.centos.org/2023/04/end-dates-are-coming-for-centos-stream-8-and-centos-linux-7/

Comment on lines +220 to +225
"exceptional-versions": [
{
"version": "7",
"note": "Red Hat Enterprise Linux 7 was explicitly never supported."
}
],
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@richlander Maybe we want to give a better explanation here.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was explicitly not supported due to glibc compatibility. When we moved from CentOS 7 to Ubuntu 16.04 as the compilation target, we dropped RHEL 7, CentOS 7, and any other distro in that version family.

Context: dotnet/runtime#83428

Comment on lines +187 to +192
],
"exceptional-versions": [
{
"version": "11",
"note": "Debian 11 is continued to be supported after EOL as it's used as [container base](https://github.com/dotnet/dotnet-docker/discussions/5710)."
}
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@richlander This is based on my assumption/understanding that the container image was based off from Debian 11 similar to .NET 6, so this would also have been true at EOL state.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one looks good for 6.0 but not 7.0. 7.0 was already EOL when Debian 11 went EOL.

Copy link
Owner Author

@Falco20019 Falco20019 Aug 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, so the container images for .NET 7 were based on Debian 12 then? Thought I saw 11 somewhere. I know that .NET 6 uses Debian 11 and .NET 8 uses Debian 12.

11 is still listed as supported. So this exceptional entry is less about it changing at some point but about giving users context that there was something special about Debian 11/12 to begin with.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They were based on Debian 11, but since Debian 11 went EOL after .NET 7, this exception isn't important.

Copy link
Owner Author

@Falco20019 Falco20019 Aug 27, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see the field more as "noteworthy version" with added information about what makes this special, not just about "this has an effect on the lifecycle". Therefore, I would expect this to been there right from the get-go of the .NET version, not just when Debian 11 went EOL. Same reason why I added it to .NET 8 while Debian 12 is still in support.

Toolwise, it makes no difference for me, as I would not see a difference when checking for the EOL point in time, especially since I'm not checking EOL .NET versions anymore.

I agree with you that it's not important. So if you dislike it, I can also remove it. I only thought it might give people more background information on .NET that they might not otherwise find related to supported OS.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the same case as dotnet#9481 (comment).

When .NET 7 went EOL, Debian 11 was still supported by Debian maintainers. That's the final state of .NET 7 support, so no extra information is needed.

The tool should not check if "supported" OSes are actually still supported for EOL .NET versions.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment is IMO not about a state that applied AFTER EOL but applied to that version even starting with 8.0.0. See

"exceptional-versions": [
{
"version": "12",
"note": "Debian 12 is continued to be supported after EOL as it's used as [container base](https://github.com/dotnet/dotnet-docker/discussions/5710)."
}
]
where we also show Debian 12 (which is currently Active, not EOL). The one in .NET 7 is also not for checking "supported" OSes (as .NET 7 is EOL itself) but about reflecting the file as it SHOULD have been when .NET 7 became EOL.

But I have no strong feelings on that, we can also just keep it as is.

Copy link

@richlander richlander Sep 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry ... I've been travelling so short on time.

The 8.0 example/change makes good sense. Fully on board.

It's the .NET 7 one that is different since Debian 11 was not supported after it's EOL since .NET 7 EOL came first. The big question is whether we would have needed to at this exception at .NET 7 EOL. I believe we would not have. Similarly, will we need to add the same exception, for Debian 12, at .NET 9 EOL. Also, likely not.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be good to get more opinions on this. But since there aren't really users besides us, I think there won't be too much input soon. So I'm fine either way for the moment as long as we have the exceptions stated latest when something is EOL. Me personally, I don't know about all the things all the time, so having them upfront would help me. But since I'm not running into issues, it's fine for me either way. I just wouldn't be able to add them :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants