Skip to content

[9.0] Update CI OSes #115503

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

Merged

Conversation

richlander
Copy link
Member

@richlander richlander commented May 13, 2025

@Copilot Copilot AI review requested due to automatic review settings May 13, 2025 00:37
Copy link
Contributor

@Copilot Copilot AI left a comment

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)[email protected]/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)[email protected]/dotnet-buildtools/prereqs:centos-stream9-helix

@richlander
Copy link
Member Author

/azp run runtime-libraries-coreclr outerloop-linux

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@richlander
Copy link
Member Author

These issues all look existing.

@carlossanlop

@richlander
Copy link
Member Author

richlander commented Jun 6, 2025

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
Member Author

/azp run runtime-extra-platforms

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@richlander
Copy link
Member Author

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
Member

jkotas commented Jun 8, 2025

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
Member Author

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
Member Author

/azp run runtime-libraries-coreclr outerloop-linux

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@richlander
Copy link
Member Author

/azp run runtime-extra-platforms

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@richlander
Copy link
Member Author

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
Member Author

/azp run runtime-libraries-coreclr outerloop-linux

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@richlander
Copy link
Member Author

/azp run runtime-extra-platforms

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@richlander
Copy link
Member Author

/azp run runtime-libraries-coreclr outerloop-linux

@richlander
Copy link
Member Author

/azp run runtime-extra-platforms

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

1 similar comment
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@richlander
Copy link
Member Author

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
Copy link
Member Author

richlander commented Jun 30, 2025

@richlander
Copy link
Member Author

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
@richlander richlander added the Servicing-approved Approved for servicing release label Jul 1, 2025
@richlander richlander merged commit b6f30ed into dotnet:release/9.0-staging Jul 1, 2025
67 of 78 checks passed
@richlander
Copy link
Member Author

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants