Skip to content

Add missing OL releases to RID graph - #81115

Closed
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids
Closed

Add missing OL releases to RID graph#81115
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids

Conversation

@Mr-Tao

Copy link
Copy Markdown

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

@ghostghost added area-Host community-contribution Indicates that the PR has been added by a community member labels Jan 24, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov
See info in area-owners.md if you want to be subscribed.

Issue Details

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

Author:Mr-Tao
Assignees:-
Labels:

area-Host

Milestone:-

@omajid

Copy link
Copy Markdown
Member

I am happy there are no minor-version RIDs for OL 9 🎉

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. thinking I don’t know for sure, so I have kept minor versions.

I think it's a compatibility concern. If a user has used the RID in the past and we drop the RID in the graph, that might break applications, or at prevent the build/publish commands that were previously working from continuing to work.

I don't know if these concerns still apply when adding it to repo here, because those RIDs weren't present previously so they wouldn't be treated as "removed"/"breaking" if they just not added.

So maybe we can leave out the minor version RIDs from this PR? Will this really impact customers given the RID graph on nuget.org didn't have these versions already?

Anyway, I wont block the addition of RHEL minor version IDs here. I don't see a harm.

@richlanderrichlander mentioned this pull request Mar 10, 2023
@agocke

Copy link
Copy Markdown
Member

While we're contemplating deprecating the whole RID graph (#83246), I'm going to close this for now. We can re-open if we end up not going in that direction

@Mr-Tao

Copy link
Copy Markdown
Author

Thanks for taking the time to review the PR, @agocke. I like the idea of getting rid of RIDs very much. We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9. At the same time we still need to maintain the set of RIDs added on OL8 and OL7 to be able to build dotnet 3, 6 and 7.

By including this change the Oracle Linux support would get on par with support for RHEL, Rocky and others. The change also does not add any complexity to the process of deprecation of RIDs when and if the time comes.

@ViktorHofer

ViktorHofer commented Mar 20, 2023

Copy link
Copy Markdown
Member

@richlander until we execute on the RID plan changes, should we keep accepting these changes or close them?

@tmds

tmds commented Mar 21, 2023

Copy link
Copy Markdown
Member

We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9.

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

@ViktorHofer

Copy link
Copy Markdown
Member

ping @richlander regarding my above question

@carlossanlop

Copy link
Copy Markdown
Contributor

Reopening this PR to continue the conversation. I closed the release/6.0 PR version of this change, since we would first need to merge the main version before taking a servicing version: #83681

Ping @richlander

@Mr-Tao

Copy link
Copy Markdown
Author

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

Thanks for pointing this out, @tmds. Do you think that there’s anything else that needs to be added besides this change? https://github.com/dotnet/runtime/pull/81115/files#diff-b2bd8511e88327d8f146bc460e79182cc6826e2b90039dffc4f5f89c5467d12a

<Parent>linux</Parent>
<Architectures>x64;arm64</Architectures>
<Versions>8;8.0;8.1</Versions>
<Versions>8;8.0;8.1;8.2;8.3;8.4;8.5;8.6;8.7</Versions>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

With the addition of changes to pal.unix.cpp, are these still necessary? What happens if you don't add all the new 8 RIDs to ol and rhel?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I suppose that dotnet would build fine. If this is safe, why does RedHat still keep minors for 8? Could this be an issue for customer applications? 🤔

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If this is safe, why does Red Hat still keep minors for 8

It's mostly due to backwards compatibility. We added them to the RID graph for 8 before we finished all the fixes (eg, the pal.unix.cpp stuff), and now we can't remove them.

No one should be depending on the minor versions. It makes everyone's life harder.

@MichaelSimons

Copy link
Copy Markdown
Member

@agocke, @carlossanlop, @richlander - What is the plan for requests like this to update the RID graph? I know there is the proposed RID plan. What is the timeline for implementing it? This issue is affecting folks wanting to source-build .NET.

@agocke

Copy link
Copy Markdown
Member

RID changes are in and breaking change is filed: https://learn.microsoft.com/en-us/dotnet/core/compatibility/deployment/8.0/rid-asset-list

RID graph is now frozen.

@agockeagocke closed this Jun 26, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 27, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Hostcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@Mr-Tao@omajid@agocke@ViktorHofer@tmds@carlossanlop@MichaelSimons
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Add missing OL releases to RID graph by Mr-Tao · Pull Request #81115 · dotnet/runtime · GitHub
Skip to content

Add missing OL releases to RID graph - #81115

Closed
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids
Closed

Add missing OL releases to RID graph#81115
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids

Conversation

@Mr-Tao

Copy link
Copy Markdown

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

@ghostghost added area-Host community-contribution Indicates that the PR has been added by a community member labels Jan 24, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov
See info in area-owners.md if you want to be subscribed.

Issue Details

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

Author:Mr-Tao
Assignees:-
Labels:

area-Host

Milestone:-

@omajid

Copy link
Copy Markdown
Member

I am happy there are no minor-version RIDs for OL 9 🎉

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. thinking I don’t know for sure, so I have kept minor versions.

I think it's a compatibility concern. If a user has used the RID in the past and we drop the RID in the graph, that might break applications, or at prevent the build/publish commands that were previously working from continuing to work.

I don't know if these concerns still apply when adding it to repo here, because those RIDs weren't present previously so they wouldn't be treated as "removed"/"breaking" if they just not added.

So maybe we can leave out the minor version RIDs from this PR? Will this really impact customers given the RID graph on nuget.org didn't have these versions already?

Anyway, I wont block the addition of RHEL minor version IDs here. I don't see a harm.

@richlanderrichlander mentioned this pull request Mar 10, 2023
@agocke

Copy link
Copy Markdown
Member

While we're contemplating deprecating the whole RID graph (#83246), I'm going to close this for now. We can re-open if we end up not going in that direction

@Mr-Tao

Copy link
Copy Markdown
Author

Thanks for taking the time to review the PR, @agocke. I like the idea of getting rid of RIDs very much. We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9. At the same time we still need to maintain the set of RIDs added on OL8 and OL7 to be able to build dotnet 3, 6 and 7.

By including this change the Oracle Linux support would get on par with support for RHEL, Rocky and others. The change also does not add any complexity to the process of deprecation of RIDs when and if the time comes.

@ViktorHofer

ViktorHofer commented Mar 20, 2023

Copy link
Copy Markdown
Member

@richlander until we execute on the RID plan changes, should we keep accepting these changes or close them?

@tmds

tmds commented Mar 21, 2023

Copy link
Copy Markdown
Member

We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9.

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

@ViktorHofer

Copy link
Copy Markdown
Member

ping @richlander regarding my above question

@carlossanlop

Copy link
Copy Markdown
Contributor

Reopening this PR to continue the conversation. I closed the release/6.0 PR version of this change, since we would first need to merge the main version before taking a servicing version: #83681

Ping @richlander

@Mr-Tao

Copy link
Copy Markdown
Author

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

Thanks for pointing this out, @tmds. Do you think that there’s anything else that needs to be added besides this change? https://github.com/dotnet/runtime/pull/81115/files#diff-b2bd8511e88327d8f146bc460e79182cc6826e2b90039dffc4f5f89c5467d12a

<Parent>linux</Parent>
<Architectures>x64;arm64</Architectures>
<Versions>8;8.0;8.1</Versions>
<Versions>8;8.0;8.1;8.2;8.3;8.4;8.5;8.6;8.7</Versions>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

With the addition of changes to pal.unix.cpp, are these still necessary? What happens if you don't add all the new 8 RIDs to ol and rhel?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I suppose that dotnet would build fine. If this is safe, why does RedHat still keep minors for 8? Could this be an issue for customer applications? 🤔

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If this is safe, why does Red Hat still keep minors for 8

It's mostly due to backwards compatibility. We added them to the RID graph for 8 before we finished all the fixes (eg, the pal.unix.cpp stuff), and now we can't remove them.

No one should be depending on the minor versions. It makes everyone's life harder.

@MichaelSimons

Copy link
Copy Markdown
Member

@agocke, @carlossanlop, @richlander - What is the plan for requests like this to update the RID graph? I know there is the proposed RID plan. What is the timeline for implementing it? This issue is affecting folks wanting to source-build .NET.

@agocke

Copy link
Copy Markdown
Member

RID changes are in and breaking change is filed: https://learn.microsoft.com/en-us/dotnet/core/compatibility/deployment/8.0/rid-asset-list

RID graph is now frozen.

@agockeagocke closed this Jun 26, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 27, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Hostcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@Mr-Tao@omajid@agocke@ViktorHofer@tmds@carlossanlop@MichaelSimons
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add missing OL releases to RID graph by Mr-Tao · Pull Request #81115 · dotnet/runtime · GitHub
Skip to content

Add missing OL releases to RID graph - #81115

Closed
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids
Closed

Add missing OL releases to RID graph#81115
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids

Conversation

@Mr-Tao

Copy link
Copy Markdown

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

@ghostghost added area-Host community-contribution Indicates that the PR has been added by a community member labels Jan 24, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov
See info in area-owners.md if you want to be subscribed.

Issue Details

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

Author:Mr-Tao
Assignees:-
Labels:

area-Host

Milestone:-

@omajid

Copy link
Copy Markdown
Member

I am happy there are no minor-version RIDs for OL 9 🎉

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. thinking I don’t know for sure, so I have kept minor versions.

I think it's a compatibility concern. If a user has used the RID in the past and we drop the RID in the graph, that might break applications, or at prevent the build/publish commands that were previously working from continuing to work.

I don't know if these concerns still apply when adding it to repo here, because those RIDs weren't present previously so they wouldn't be treated as "removed"/"breaking" if they just not added.

So maybe we can leave out the minor version RIDs from this PR? Will this really impact customers given the RID graph on nuget.org didn't have these versions already?

Anyway, I wont block the addition of RHEL minor version IDs here. I don't see a harm.

@richlanderrichlander mentioned this pull request Mar 10, 2023
@agocke

Copy link
Copy Markdown
Member

While we're contemplating deprecating the whole RID graph (#83246), I'm going to close this for now. We can re-open if we end up not going in that direction

@Mr-Tao

Copy link
Copy Markdown
Author

Thanks for taking the time to review the PR, @agocke. I like the idea of getting rid of RIDs very much. We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9. At the same time we still need to maintain the set of RIDs added on OL8 and OL7 to be able to build dotnet 3, 6 and 7.

By including this change the Oracle Linux support would get on par with support for RHEL, Rocky and others. The change also does not add any complexity to the process of deprecation of RIDs when and if the time comes.

@ViktorHofer

ViktorHofer commented Mar 20, 2023

Copy link
Copy Markdown
Member

@richlander until we execute on the RID plan changes, should we keep accepting these changes or close them?

@tmds

tmds commented Mar 21, 2023

Copy link
Copy Markdown
Member

We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9.

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

@ViktorHofer

Copy link
Copy Markdown
Member

ping @richlander regarding my above question

@carlossanlop

Copy link
Copy Markdown
Contributor

Reopening this PR to continue the conversation. I closed the release/6.0 PR version of this change, since we would first need to merge the main version before taking a servicing version: #83681

Ping @richlander

@Mr-Tao

Copy link
Copy Markdown
Author

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

Thanks for pointing this out, @tmds. Do you think that there’s anything else that needs to be added besides this change? https://github.com/dotnet/runtime/pull/81115/files#diff-b2bd8511e88327d8f146bc460e79182cc6826e2b90039dffc4f5f89c5467d12a

<Parent>linux</Parent>
<Architectures>x64;arm64</Architectures>
<Versions>8;8.0;8.1</Versions>
<Versions>8;8.0;8.1;8.2;8.3;8.4;8.5;8.6;8.7</Versions>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

With the addition of changes to pal.unix.cpp, are these still necessary? What happens if you don't add all the new 8 RIDs to ol and rhel?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I suppose that dotnet would build fine. If this is safe, why does RedHat still keep minors for 8? Could this be an issue for customer applications? 🤔

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If this is safe, why does Red Hat still keep minors for 8

It's mostly due to backwards compatibility. We added them to the RID graph for 8 before we finished all the fixes (eg, the pal.unix.cpp stuff), and now we can't remove them.

No one should be depending on the minor versions. It makes everyone's life harder.

@MichaelSimons

Copy link
Copy Markdown
Member

@agocke, @carlossanlop, @richlander - What is the plan for requests like this to update the RID graph? I know there is the proposed RID plan. What is the timeline for implementing it? This issue is affecting folks wanting to source-build .NET.

@agocke

Copy link
Copy Markdown
Member

RID changes are in and breaking change is filed: https://learn.microsoft.com/en-us/dotnet/core/compatibility/deployment/8.0/rid-asset-list

RID graph is now frozen.

@agockeagocke closed this Jun 26, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 27, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Hostcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@Mr-Tao@omajid@agocke@ViktorHofer@tmds@carlossanlop@MichaelSimons
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add missing OL releases to RID graph by Mr-Tao · Pull Request #81115 · dotnet/runtime · GitHub
Skip to content

Add missing OL releases to RID graph - #81115

Closed
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids
Closed

Add missing OL releases to RID graph#81115
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids

Conversation

@Mr-Tao

Copy link
Copy Markdown

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

@ghostghost added area-Host community-contribution Indicates that the PR has been added by a community member labels Jan 24, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov
See info in area-owners.md if you want to be subscribed.

Issue Details

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

Author:Mr-Tao
Assignees:-
Labels:

area-Host

Milestone:-

@omajid

Copy link
Copy Markdown
Member

I am happy there are no minor-version RIDs for OL 9 🎉

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. thinking I don’t know for sure, so I have kept minor versions.

I think it's a compatibility concern. If a user has used the RID in the past and we drop the RID in the graph, that might break applications, or at prevent the build/publish commands that were previously working from continuing to work.

I don't know if these concerns still apply when adding it to repo here, because those RIDs weren't present previously so they wouldn't be treated as "removed"/"breaking" if they just not added.

So maybe we can leave out the minor version RIDs from this PR? Will this really impact customers given the RID graph on nuget.org didn't have these versions already?

Anyway, I wont block the addition of RHEL minor version IDs here. I don't see a harm.

@richlanderrichlander mentioned this pull request Mar 10, 2023
@agocke

Copy link
Copy Markdown
Member

While we're contemplating deprecating the whole RID graph (#83246), I'm going to close this for now. We can re-open if we end up not going in that direction

@Mr-Tao

Copy link
Copy Markdown
Author

Thanks for taking the time to review the PR, @agocke. I like the idea of getting rid of RIDs very much. We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9. At the same time we still need to maintain the set of RIDs added on OL8 and OL7 to be able to build dotnet 3, 6 and 7.

By including this change the Oracle Linux support would get on par with support for RHEL, Rocky and others. The change also does not add any complexity to the process of deprecation of RIDs when and if the time comes.

@ViktorHofer

ViktorHofer commented Mar 20, 2023

Copy link
Copy Markdown
Member

@richlander until we execute on the RID plan changes, should we keep accepting these changes or close them?

@tmds

tmds commented Mar 21, 2023

Copy link
Copy Markdown
Member

We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9.

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

@ViktorHofer

Copy link
Copy Markdown
Member

ping @richlander regarding my above question

@carlossanlop

Copy link
Copy Markdown
Contributor

Reopening this PR to continue the conversation. I closed the release/6.0 PR version of this change, since we would first need to merge the main version before taking a servicing version: #83681

Ping @richlander

@Mr-Tao

Copy link
Copy Markdown
Author

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

Thanks for pointing this out, @tmds. Do you think that there’s anything else that needs to be added besides this change? https://github.com/dotnet/runtime/pull/81115/files#diff-b2bd8511e88327d8f146bc460e79182cc6826e2b90039dffc4f5f89c5467d12a

<Parent>linux</Parent>
<Architectures>x64;arm64</Architectures>
<Versions>8;8.0;8.1</Versions>
<Versions>8;8.0;8.1;8.2;8.3;8.4;8.5;8.6;8.7</Versions>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

With the addition of changes to pal.unix.cpp, are these still necessary? What happens if you don't add all the new 8 RIDs to ol and rhel?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I suppose that dotnet would build fine. If this is safe, why does RedHat still keep minors for 8? Could this be an issue for customer applications? 🤔

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If this is safe, why does Red Hat still keep minors for 8

It's mostly due to backwards compatibility. We added them to the RID graph for 8 before we finished all the fixes (eg, the pal.unix.cpp stuff), and now we can't remove them.

No one should be depending on the minor versions. It makes everyone's life harder.

@MichaelSimons

Copy link
Copy Markdown
Member

@agocke, @carlossanlop, @richlander - What is the plan for requests like this to update the RID graph? I know there is the proposed RID plan. What is the timeline for implementing it? This issue is affecting folks wanting to source-build .NET.

@agocke

Copy link
Copy Markdown
Member

RID changes are in and breaking change is filed: https://learn.microsoft.com/en-us/dotnet/core/compatibility/deployment/8.0/rid-asset-list

RID graph is now frozen.

@agockeagocke closed this Jun 26, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 27, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Hostcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@Mr-Tao@omajid@agocke@ViktorHofer@tmds@carlossanlop@MichaelSimons
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Add missing OL releases to RID graph by Mr-Tao · Pull Request #81115 · dotnet/runtime · GitHub
Skip to content

Add missing OL releases to RID graph - #81115

Closed
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids
Closed

Add missing OL releases to RID graph#81115
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids

Conversation

@Mr-Tao

Copy link
Copy Markdown

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

@ghostghost added area-Host community-contribution Indicates that the PR has been added by a community member labels Jan 24, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov
See info in area-owners.md if you want to be subscribed.

Issue Details

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

Author:Mr-Tao
Assignees:-
Labels:

area-Host

Milestone:-

@omajid

Copy link
Copy Markdown
Member

I am happy there are no minor-version RIDs for OL 9 🎉

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. thinking I don’t know for sure, so I have kept minor versions.

I think it's a compatibility concern. If a user has used the RID in the past and we drop the RID in the graph, that might break applications, or at prevent the build/publish commands that were previously working from continuing to work.

I don't know if these concerns still apply when adding it to repo here, because those RIDs weren't present previously so they wouldn't be treated as "removed"/"breaking" if they just not added.

So maybe we can leave out the minor version RIDs from this PR? Will this really impact customers given the RID graph on nuget.org didn't have these versions already?

Anyway, I wont block the addition of RHEL minor version IDs here. I don't see a harm.

@richlanderrichlander mentioned this pull request Mar 10, 2023
@agocke

Copy link
Copy Markdown
Member

While we're contemplating deprecating the whole RID graph (#83246), I'm going to close this for now. We can re-open if we end up not going in that direction

@Mr-Tao

Copy link
Copy Markdown
Author

Thanks for taking the time to review the PR, @agocke. I like the idea of getting rid of RIDs very much. We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9. At the same time we still need to maintain the set of RIDs added on OL8 and OL7 to be able to build dotnet 3, 6 and 7.

By including this change the Oracle Linux support would get on par with support for RHEL, Rocky and others. The change also does not add any complexity to the process of deprecation of RIDs when and if the time comes.

@ViktorHofer

ViktorHofer commented Mar 20, 2023

Copy link
Copy Markdown
Member

@richlander until we execute on the RID plan changes, should we keep accepting these changes or close them?

@tmds

tmds commented Mar 21, 2023

Copy link
Copy Markdown
Member

We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9.

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

@ViktorHofer

Copy link
Copy Markdown
Member

ping @richlander regarding my above question

@carlossanlop

Copy link
Copy Markdown
Contributor

Reopening this PR to continue the conversation. I closed the release/6.0 PR version of this change, since we would first need to merge the main version before taking a servicing version: #83681

Ping @richlander

@Mr-Tao

Copy link
Copy Markdown
Author

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

Thanks for pointing this out, @tmds. Do you think that there’s anything else that needs to be added besides this change? https://github.com/dotnet/runtime/pull/81115/files#diff-b2bd8511e88327d8f146bc460e79182cc6826e2b90039dffc4f5f89c5467d12a

<Parent>linux</Parent>
<Architectures>x64;arm64</Architectures>
<Versions>8;8.0;8.1</Versions>
<Versions>8;8.0;8.1;8.2;8.3;8.4;8.5;8.6;8.7</Versions>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

With the addition of changes to pal.unix.cpp, are these still necessary? What happens if you don't add all the new 8 RIDs to ol and rhel?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I suppose that dotnet would build fine. If this is safe, why does RedHat still keep minors for 8? Could this be an issue for customer applications? 🤔

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If this is safe, why does Red Hat still keep minors for 8

It's mostly due to backwards compatibility. We added them to the RID graph for 8 before we finished all the fixes (eg, the pal.unix.cpp stuff), and now we can't remove them.

No one should be depending on the minor versions. It makes everyone's life harder.

@MichaelSimons

Copy link
Copy Markdown
Member

@agocke, @carlossanlop, @richlander - What is the plan for requests like this to update the RID graph? I know there is the proposed RID plan. What is the timeline for implementing it? This issue is affecting folks wanting to source-build .NET.

@agocke

Copy link
Copy Markdown
Member

RID changes are in and breaking change is filed: https://learn.microsoft.com/en-us/dotnet/core/compatibility/deployment/8.0/rid-asset-list

RID graph is now frozen.

@agockeagocke closed this Jun 26, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 27, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Hostcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@Mr-Tao@omajid@agocke@ViktorHofer@tmds@carlossanlop@MichaelSimons
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add missing OL releases to RID graph by Mr-Tao · Pull Request #81115 · dotnet/runtime · GitHub
Skip to content

Add missing OL releases to RID graph - #81115

Closed
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids
Closed

Add missing OL releases to RID graph#81115
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids

Conversation

@Mr-Tao

Copy link
Copy Markdown

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

@ghostghost added area-Host community-contribution Indicates that the PR has been added by a community member labels Jan 24, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov
See info in area-owners.md if you want to be subscribed.

Issue Details

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

Author:Mr-Tao
Assignees:-
Labels:

area-Host

Milestone:-

@omajid

Copy link
Copy Markdown
Member

I am happy there are no minor-version RIDs for OL 9 🎉

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. thinking I don’t know for sure, so I have kept minor versions.

I think it's a compatibility concern. If a user has used the RID in the past and we drop the RID in the graph, that might break applications, or at prevent the build/publish commands that were previously working from continuing to work.

I don't know if these concerns still apply when adding it to repo here, because those RIDs weren't present previously so they wouldn't be treated as "removed"/"breaking" if they just not added.

So maybe we can leave out the minor version RIDs from this PR? Will this really impact customers given the RID graph on nuget.org didn't have these versions already?

Anyway, I wont block the addition of RHEL minor version IDs here. I don't see a harm.

@richlanderrichlander mentioned this pull request Mar 10, 2023
@agocke

Copy link
Copy Markdown
Member

While we're contemplating deprecating the whole RID graph (#83246), I'm going to close this for now. We can re-open if we end up not going in that direction

@Mr-Tao

Copy link
Copy Markdown
Author

Thanks for taking the time to review the PR, @agocke. I like the idea of getting rid of RIDs very much. We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9. At the same time we still need to maintain the set of RIDs added on OL8 and OL7 to be able to build dotnet 3, 6 and 7.

By including this change the Oracle Linux support would get on par with support for RHEL, Rocky and others. The change also does not add any complexity to the process of deprecation of RIDs when and if the time comes.

@ViktorHofer

ViktorHofer commented Mar 20, 2023

Copy link
Copy Markdown
Member

@richlander until we execute on the RID plan changes, should we keep accepting these changes or close them?

@tmds

tmds commented Mar 21, 2023

Copy link
Copy Markdown
Member

We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9.

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

@ViktorHofer

Copy link
Copy Markdown
Member

ping @richlander regarding my above question

@carlossanlop

Copy link
Copy Markdown
Contributor

Reopening this PR to continue the conversation. I closed the release/6.0 PR version of this change, since we would first need to merge the main version before taking a servicing version: #83681

Ping @richlander

@Mr-Tao

Copy link
Copy Markdown
Author

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

Thanks for pointing this out, @tmds. Do you think that there’s anything else that needs to be added besides this change? https://github.com/dotnet/runtime/pull/81115/files#diff-b2bd8511e88327d8f146bc460e79182cc6826e2b90039dffc4f5f89c5467d12a

<Parent>linux</Parent>
<Architectures>x64;arm64</Architectures>
<Versions>8;8.0;8.1</Versions>
<Versions>8;8.0;8.1;8.2;8.3;8.4;8.5;8.6;8.7</Versions>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

With the addition of changes to pal.unix.cpp, are these still necessary? What happens if you don't add all the new 8 RIDs to ol and rhel?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I suppose that dotnet would build fine. If this is safe, why does RedHat still keep minors for 8? Could this be an issue for customer applications? 🤔

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If this is safe, why does Red Hat still keep minors for 8

It's mostly due to backwards compatibility. We added them to the RID graph for 8 before we finished all the fixes (eg, the pal.unix.cpp stuff), and now we can't remove them.

No one should be depending on the minor versions. It makes everyone's life harder.

@MichaelSimons

Copy link
Copy Markdown
Member

@agocke, @carlossanlop, @richlander - What is the plan for requests like this to update the RID graph? I know there is the proposed RID plan. What is the timeline for implementing it? This issue is affecting folks wanting to source-build .NET.

@agocke

Copy link
Copy Markdown
Member

RID changes are in and breaking change is filed: https://learn.microsoft.com/en-us/dotnet/core/compatibility/deployment/8.0/rid-asset-list

RID graph is now frozen.

@agockeagocke closed this Jun 26, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 27, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Hostcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@Mr-Tao@omajid@agocke@ViktorHofer@tmds@carlossanlop@MichaelSimons
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add missing OL releases to RID graph by Mr-Tao · Pull Request #81115 · dotnet/runtime · GitHub
Skip to content

Add missing OL releases to RID graph - #81115

Closed
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids
Closed

Add missing OL releases to RID graph#81115
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids

Conversation

@Mr-Tao

Copy link
Copy Markdown

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

@ghostghost added area-Host community-contribution Indicates that the PR has been added by a community member labels Jan 24, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov
See info in area-owners.md if you want to be subscribed.

Issue Details

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

Author:Mr-Tao
Assignees:-
Labels:

area-Host

Milestone:-

@omajid

Copy link
Copy Markdown
Member

I am happy there are no minor-version RIDs for OL 9 🎉

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. thinking I don’t know for sure, so I have kept minor versions.

I think it's a compatibility concern. If a user has used the RID in the past and we drop the RID in the graph, that might break applications, or at prevent the build/publish commands that were previously working from continuing to work.

I don't know if these concerns still apply when adding it to repo here, because those RIDs weren't present previously so they wouldn't be treated as "removed"/"breaking" if they just not added.

So maybe we can leave out the minor version RIDs from this PR? Will this really impact customers given the RID graph on nuget.org didn't have these versions already?

Anyway, I wont block the addition of RHEL minor version IDs here. I don't see a harm.

@richlanderrichlander mentioned this pull request Mar 10, 2023
@agocke

Copy link
Copy Markdown
Member

While we're contemplating deprecating the whole RID graph (#83246), I'm going to close this for now. We can re-open if we end up not going in that direction

@Mr-Tao

Copy link
Copy Markdown
Author

Thanks for taking the time to review the PR, @agocke. I like the idea of getting rid of RIDs very much. We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9. At the same time we still need to maintain the set of RIDs added on OL8 and OL7 to be able to build dotnet 3, 6 and 7.

By including this change the Oracle Linux support would get on par with support for RHEL, Rocky and others. The change also does not add any complexity to the process of deprecation of RIDs when and if the time comes.

@ViktorHofer

ViktorHofer commented Mar 20, 2023

Copy link
Copy Markdown
Member

@richlander until we execute on the RID plan changes, should we keep accepting these changes or close them?

@tmds

tmds commented Mar 21, 2023

Copy link
Copy Markdown
Member

We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9.

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

@ViktorHofer

Copy link
Copy Markdown
Member

ping @richlander regarding my above question

@carlossanlop

Copy link
Copy Markdown
Contributor

Reopening this PR to continue the conversation. I closed the release/6.0 PR version of this change, since we would first need to merge the main version before taking a servicing version: #83681

Ping @richlander

@Mr-Tao

Copy link
Copy Markdown
Author

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

Thanks for pointing this out, @tmds. Do you think that there’s anything else that needs to be added besides this change? https://github.com/dotnet/runtime/pull/81115/files#diff-b2bd8511e88327d8f146bc460e79182cc6826e2b90039dffc4f5f89c5467d12a

<Parent>linux</Parent>
<Architectures>x64;arm64</Architectures>
<Versions>8;8.0;8.1</Versions>
<Versions>8;8.0;8.1;8.2;8.3;8.4;8.5;8.6;8.7</Versions>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

With the addition of changes to pal.unix.cpp, are these still necessary? What happens if you don't add all the new 8 RIDs to ol and rhel?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I suppose that dotnet would build fine. If this is safe, why does RedHat still keep minors for 8? Could this be an issue for customer applications? 🤔

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If this is safe, why does Red Hat still keep minors for 8

It's mostly due to backwards compatibility. We added them to the RID graph for 8 before we finished all the fixes (eg, the pal.unix.cpp stuff), and now we can't remove them.

No one should be depending on the minor versions. It makes everyone's life harder.

@MichaelSimons

Copy link
Copy Markdown
Member

@agocke, @carlossanlop, @richlander - What is the plan for requests like this to update the RID graph? I know there is the proposed RID plan. What is the timeline for implementing it? This issue is affecting folks wanting to source-build .NET.

@agocke

Copy link
Copy Markdown
Member

RID changes are in and breaking change is filed: https://learn.microsoft.com/en-us/dotnet/core/compatibility/deployment/8.0/rid-asset-list

RID graph is now frozen.

@agockeagocke closed this Jun 26, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 27, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Hostcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@Mr-Tao@omajid@agocke@ViktorHofer@tmds@carlossanlop@MichaelSimons
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Add missing OL releases to RID graph by Mr-Tao · Pull Request #81115 · dotnet/runtime · GitHub
Skip to content

Add missing OL releases to RID graph - #81115

Closed
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids
Closed

Add missing OL releases to RID graph#81115
Mr-Tao wants to merge 3 commits into
dotnet:mainfrom
Mr-Tao:oracle/add-missing-rids

Conversation

@Mr-Tao

Copy link
Copy Markdown

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

@ghostghost added area-Host community-contribution Indicates that the PR has been added by a community member labels Jan 24, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov
See info in area-owners.md if you want to be subscribed.

Issue Details

In PR, I’ve tried to address comments that #66783 received.

I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.

But since we are now adding OL, we need the parent RHEL versions (is this a strict requirement? Can anyone confirm) #66783 (comment)

I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.

Author:Mr-Tao
Assignees:-
Labels:

area-Host

Milestone:-

@omajid

Copy link
Copy Markdown
Member

I am happy there are no minor-version RIDs for OL 9 🎉

Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. thinking I don’t know for sure, so I have kept minor versions.

I think it's a compatibility concern. If a user has used the RID in the past and we drop the RID in the graph, that might break applications, or at prevent the build/publish commands that were previously working from continuing to work.

I don't know if these concerns still apply when adding it to repo here, because those RIDs weren't present previously so they wouldn't be treated as "removed"/"breaking" if they just not added.

So maybe we can leave out the minor version RIDs from this PR? Will this really impact customers given the RID graph on nuget.org didn't have these versions already?

Anyway, I wont block the addition of RHEL minor version IDs here. I don't see a harm.

@richlanderrichlander mentioned this pull request Mar 10, 2023
@agocke

Copy link
Copy Markdown
Member

While we're contemplating deprecating the whole RID graph (#83246), I'm going to close this for now. We can re-open if we end up not going in that direction

@Mr-Tao

Copy link
Copy Markdown
Author

Thanks for taking the time to review the PR, @agocke. I like the idea of getting rid of RIDs very much. We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9. At the same time we still need to maintain the set of RIDs added on OL8 and OL7 to be able to build dotnet 3, 6 and 7.

By including this change the Oracle Linux support would get on par with support for RHEL, Rocky and others. The change also does not add any complexity to the process of deprecation of RIDs when and if the time comes.

@ViktorHofer

ViktorHofer commented Mar 20, 2023

Copy link
Copy Markdown
Member

@richlander until we execute on the RID plan changes, should we keep accepting these changes or close them?

@tmds

tmds commented Mar 21, 2023

Copy link
Copy Markdown
Member

We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9.

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

@ViktorHofer

Copy link
Copy Markdown
Member

ping @richlander regarding my above question

@carlossanlop

Copy link
Copy Markdown
Contributor

Reopening this PR to continue the conversation. I closed the release/6.0 PR version of this change, since we would first need to merge the main version before taking a servicing version: #83681

Ping @richlander

@Mr-Tao

Copy link
Copy Markdown
Author

You can't omit these minor versions until you update .NET to ignore the minor.

That means adding code here:

pal::string_tnormalize_linux_rid(pal::string_t rid)
{
pal::string_trhelPrefix(_X("rhel."));
pal::string_talpinePrefix(_X("alpine."));
pal::string_trockyPrefix(_X("rocky."));

(and similar for .NET 6).

Thanks for pointing this out, @tmds. Do you think that there’s anything else that needs to be added besides this change? https://github.com/dotnet/runtime/pull/81115/files#diff-b2bd8511e88327d8f146bc460e79182cc6826e2b90039dffc4f5f89c5467d12a

<Parent>linux</Parent>
<Architectures>x64;arm64</Architectures>
<Versions>8;8.0;8.1</Versions>
<Versions>8;8.0;8.1;8.2;8.3;8.4;8.5;8.6;8.7</Versions>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

With the addition of changes to pal.unix.cpp, are these still necessary? What happens if you don't add all the new 8 RIDs to ol and rhel?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I suppose that dotnet would build fine. If this is safe, why does RedHat still keep minors for 8? Could this be an issue for customer applications? 🤔

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If this is safe, why does Red Hat still keep minors for 8

It's mostly due to backwards compatibility. We added them to the RID graph for 8 before we finished all the fixes (eg, the pal.unix.cpp stuff), and now we can't remove them.

No one should be depending on the minor versions. It makes everyone's life harder.

@MichaelSimons

Copy link
Copy Markdown
Member

@agocke, @carlossanlop, @richlander - What is the plan for requests like this to update the RID graph? I know there is the proposed RID plan. What is the timeline for implementing it? This issue is affecting folks wanting to source-build .NET.

@agocke

Copy link
Copy Markdown
Member

RID changes are in and breaking change is filed: https://learn.microsoft.com/en-us/dotnet/core/compatibility/deployment/8.0/rid-asset-list

RID graph is now frozen.

@agockeagocke closed this Jun 26, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 27, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Hostcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@Mr-Tao@omajid@agocke@ViktorHofer@tmds@carlossanlop@MichaelSimons