Add Alpine Edge and Azure Linux bare VM testing#115590
Add Alpine Edge and Azure Linux bare VM testing#115590richlander merged 17 commits intodotnet:mainfrom
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR adds Alpine Edge and Azure Linux 3.0 VM testing legs, increases ARM64 coverage, and standardizes platform definitions.
- Introduce Alpine Edge variant and Azure Linux 3.0 for ARM64 and x64.
- Update conditionals to include extra and all-platform builds.
- Reformat platform sections for consistency.
Comments suppressed due to low confidence (4)
eng/pipelines/libraries/helix-queues-setup.yml:34
- The alias 'Ubuntu.2504.ArmArch.Open' is inconsistent with the existing 'Ubuntu.2504.Arm64.Open' pattern; consider renaming to 'Ubuntu.2504.Arm64.Open'.
- - (Ubuntu.2504.ArmArch.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-25.04-helix-arm64v8
eng/pipelines/libraries/helix-queues-setup.yml:36
- To match existing conventions, use 'AzureLinux.3.0.Arm64.Open' instead of 'AzureLinux.3.0.ArmArch.Open', and ensure casing is consistent.
- - (AzureLinux.3.0.ArmArch.Open)Ubuntu.2204.ArmArch.open@mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-helix-arm64v8
eng/pipelines/libraries/helix-queues-setup.yml:46
- The 'and' expression has only one argument, causing a syntax error. Change to 'if eq(parameters.platform, 'linux_musl_arm64')' or split into nested conditionals correctly.
- - ${{ if and(eq(parameters.platform, 'linux_musl_arm64') }}:
eng/pipelines/libraries/helix-queues-setup.yml:54
- The shorthand 'azurelinux.3.amd64.open' doesn't match the defined alias 'AzureLinux.3.0.Amd64.Open'; use the full container spec or the exact alias.
- - azurelinux.3.amd64.open
|
/azp run runtime-libraries-coreclr outerloop-linux |
|
Azure Pipelines failed to run 1 pipeline(s). |
|
Something seems wrong with CI. Only linker tests were run. |
|
/azp run runtime-libraries-coreclr outerloop-linux |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run runtime-libraries-coreclr outerloop-linux |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run runtime-libraries-coreclr outerloop-linux |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run runtime-extra-platforms |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Looks like there is one primary break due to these changes in VB tests, from Alpine Edge. The Azure Linux failures appear to be resolved. System.TypeInitializationException : The type initializer for 'Microsoft.VisualBasic.Tests.FinancialTests' threw an exception.
---- System.FormatException : Failed to parse version string: '3.22.0_alpha20250108'
-------- System.FormatException : The input string '0_alpha20250108' was not in a correct format. |
|
/azp run runtime-extra-platforms |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run runtime-libraries-coreclr outerloop-linux |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
|
/azp run runtime-libraries-coreclr outerloop-linux |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run runtime-libraries-coreclr outerloop-linux |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Looks like just one Alpine 3.21 issue. Alpine 3.21 isn't new. The only change is the underlying VM, back to Ubuntu (from Azure Linux 3). I could (and will eventually) change it back, but I'm worried that there somehow might be a kernel-specific issue. Hopefully this is just a change that slipped in from System.Net.Mail.Tests.SmtpClientSendMailTest_SendMailAsync.MultipleRecipients_Failure_All [FAIL]
Assert.Null() Failure: Value is not null
Expected: null
Actual: ParsedMailMessage { Attachments = [], Body = "body", Cc = "cc1@example.com, cc2@example.com", ContentType = text/plain; charset=us-ascii, From = "foo@example.com", ··· }
Stack Trace:
/_/src/libraries/System.Net.Mail/tests/Functional/SmtpClientSendMailTest.cs(310,0): at System.Net.Mail.Tests.SmtpClientSendMailTest`1.MultipleRecipients_Failure_All()
--- End of stack trace from previous location ---
Output:
Server> 220 localhost
Client> EHLO Da00CREX
Server> 250-localhost, mock server here
> 250 AUTH PLAIN LOGIN
Client> MAIL FROM:<foo@example.com>
Server> 250 Ok
Client> RCPT TO:<bar@example.com>
Server> 550 unknown recipient
Client> RCPT TO:<baz@example.com>
Server> 550 unknown recipient
Client> RCPT TO:<cc1@example.com>
Server> 550 unknown recipient
Client> RCPT TO:<cc2@example.com>
Server> 550 unknown recipient
Client> DATA
Server> 354 Start mail input; end with <CRLF>.<CRLF>
Client> MIME-Version: 1.0
> From: foo@example.com
> To: bar@example.com, baz@example.com
> Cc: cc1@example.com, cc2@example.com
> Date: 19 May 2025 16:04:51 +0000
> Subject: subject
> Content-Type: text/plain; charset=us-ascii
> Content-Transfer-Encoding: quoted-printable
>
> body
>
> .
Server> 250 Ok: queued as 1219
Client> QUIT
Server> 221 Bye
Finished: System.Net.Mail.Functional.Tests |
|
Oops. I was wrong. The failure is Arm32 specific, which was unchanged. False alarm. |
|
/ba-g "Linux Arm32 and Windows issue unrelated to this change" |
|
/azp run runtime-libraries-coreclr outerloop-linux |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/ba-g "Failures are in test legs that we were not touching" |
edgeimages dotnet-buildtools-prereqs-docker#1426