Skip to content

[9.0] Update CI OSes - #115503

Merged
richlander merged 13 commits into
dotnet:release/9.0-stagingfrom
richlander:9.0-staging-ci-update
Jul 1, 2025
Merged

[9.0] Update CI OSes#115503
richlander merged 13 commits into
dotnet:release/9.0-stagingfrom
richlander:9.0-staging-ci-update

Conversation

@richlander

@richlanderrichlander commented May 13, 2025

Copy link
Copy Markdown
Member

CopilotAI review requested due to automatic review settings May 13, 2025 00:37

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

This PR updates the CI configuration to refresh the list of OS images used in the Helix queues setup, aligning with recent changes in supported OS versions.

  • Removed outdated or restructured OS images
  • Added new OS definitions (e.g., AzureLinux.3.0)
  • Reordered some image entries for clarity
Comments suppressed due to low confidence (2)

eng/pipelines/libraries/helix-queues-setup.yml:56

  • [nitpick] The new AzureLinux entry uses 'Ubuntu.2204.Amd64.open' with lowercase 'open' in the tag, which differs from other entries that use 'Open'. Consider standardizing the casing for consistency and clarity.
- (AzureLinux.3.0.Amd64.Open)Ubuntu.2204.Amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-helix-amd64

eng/pipelines/libraries/helix-queues-setup.yml:66

  • [nitpick] The re-introduction of the Centos.9 entry here may require verification against the previously removed entry. Confirm that this change is intentional and that it correctly reflects the supported Centos-stream version.
- (Centos.9.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9-helix

@richlander

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-libraries-coreclr outerloop-linux

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

Copy link
Copy Markdown
MemberAuthor

These issues all look existing.

@carlossanlop

@richlander

richlander commented Jun 6, 2025

Copy link
Copy Markdown
MemberAuthor

I initially moved the Alpine build to Alpine 3.22, which pulls in LLVM 20. Lots of breaks. We made a bunch of changes for LLVM 20 in main that don't exist in this branch. We want to avoid doing that. That just means we'll never be able to move this branch to usemcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-amd64. That's not a problem. I just want to document it.

release/8.0 doesn't have this problem. It doesn't have a separate ad-hoc Alpine build in the same way. That must have started with .NET 9.

@jkoritzinsky

@richlander

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

Copy link
Copy Markdown
MemberAuthor

Looks like everything but baseservices-exception is known. Also looks like the Helix run failed so I'm having trouble finding good logs.

@jkotas

Copy link
Copy Markdown
Member

runtime-extra-platforms linux_musl-x64 Release Libraries_Release_CoreCLR failure looks related.

From https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1061251/logs/425:

2025-06-06T21:25:05.7891516Z /__w/1/s/.packages/microsoft.dotnet.helix.sdk/9.0.0-beta.25255.5/tools/Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(19,5): error : You must specify at least one target queue to send a job to helix. Use the HelixTargetQueues property or HelixTargetQueue items. [/__w/1/s/src/libraries/sendtohelixhelp.proj]
2025-06-06T21:25:05.7947660Z ##[error].packages/microsoft.dotnet.helix.sdk/9.0.0-beta.25255.5/tools/Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(19,5): error : (NETCORE_ENGINEERING_TELEMETRY=Build) You must specify at least one target queue to send a job to helix. Use the HelixTargetQueues property or HelixTargetQueue items.

@richlander

Copy link
Copy Markdown
MemberAuthor

Yes. I changed the condition for Linux-musl and it became inconsistent with some higher-level part of the build. The old model was to test old and new Alpine versions. I don't think we need to do that. Newest is good enough. If we start seeing customer-reported regressions on Alpine 3.19 when we're only testing Alpine 3.22, then we can bring back the old model. I don't think that will happen.

The thing with Alpine is that the vast majority of our users are going to come from the -alpine floating tag. We control that and have the responsibility for high quality when we flip to the floating tag from Alpine 3.21 to 3.22. We make that change one month after our -alpine3.22 images have been available in main branch. Our quality efforts for Alpine should be focused on that scenario.

@richlander

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-libraries-coreclr outerloop-linux

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

Copy link
Copy Markdown
MemberAuthor

Mariner 2.0 was in the wrong place. It needs to be in a place where a single line can be deleted as the total change when we remove it for EOL.

@richlander

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-libraries-coreclr outerloop-linux

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-libraries-coreclr outerloop-linux

@richlander

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

1 similar comment
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

Copy link
Copy Markdown
MemberAuthor

There is one extra platforms failure for Linux in scope to consider, on Ubuntu 22.04. I believe there is something related on main.

https://dev.azure.com/dnceng-public/public/_build/results?buildId=1081485&view=logs&j=f34c4883-3ffa-561e-aa56-47727d75db21&t=94086b59-3b57-5d7f-6f81-edbeaf0f6cce

 Discovering: System.Diagnostics.Process.Tests (method display = ClassAndMethod, method display options = None)
Discovered: System.Diagnostics.Process.Tests (found 263 of 324 test cases)
Starting: System.Diagnostics.Process.Tests (parallel test collections = on [2 threads], stop on fail = off)
System.Diagnostics.Tests.ProcessThreadTests.TestStartTimeProperty [FAIL]
Assert.Single() Failure: The collection did not contain any matching items
Expected: (predicate expression)
Collection: [System.Diagnostics.ProcessThread, System.Diagnostics.ProcessThread, System.Diagnostics.ProcessThread, System.Diagnostics.ProcessThread, System.Diagnostics.ProcessThread, ···]
Stack Trace:
/_/src/libraries/System.Diagnostics.Process/tests/ProcessThreadTests.cs(156,0): at System.Diagnostics.Tests.ProcessThreadTests.<>c__DisplayClass4_0.<TestStartTimeProperty>b__0()
/_/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs(179,0): at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
/_/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs(203,0): at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
/_/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs(2342,0): at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
/_/src/libraries/System.Diagnostics.Process/tests/ProcessThreadTests.cs(149,0): at System.Diagnostics.Tests.ProcessThreadTests.TestStartTimeProperty()
--- End of stack trace from previous location ---
Finished: System.Diagnostics.Process.Tests

@richlander

richlander commented Jun 30, 2025

Copy link
Copy Markdown
MemberAuthor

@richlander

Copy link
Copy Markdown
MemberAuthor

After consultation and collaborative investigation, we've concluded that the failures we're seeing are the same as in the rolling build for the branch. Safe to merge.

@richlander
richlander enabled auto-merge (squash) July 1, 2025 17:10
@richlanderrichlander added the Servicing-approved Approved for servicing release label Jul 1, 2025
@richlander
richlander merged commit b6f30ed into dotnet:release/9.0-stagingJul 1, 2025
63 of 73 checks passed
@richlander

Copy link
Copy Markdown
MemberAuthor

Applied service-approved label. We use tell mode for these changes.

@richlander
richlander deleted the 9.0-staging-ci-update branch July 1, 2025 17:17
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Aug 1, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Servicing-approvedApproved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@richlander@jkotas@hoyosjs