-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Update build and test images to Alpine 3.22 #116167
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
Update build and test images to Alpine 3.22 #116167
Conversation
There was a problem hiding this 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 build and test images to Alpine 3.22 while commenting out the Alpine Edge builds for non‑main branches. Key changes include:
- Updating image tags from alpine-3.21 to alpine-3.22 in various pipeline YAML files.
- Commenting out the Alpine Edge build references to restrict their use to the main branch.
- Ensuring consistency across library, installer, coreclr templates, and common pipeline resource configurations.
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
File | Description |
---|---|
eng/pipelines/libraries/helix-queues-setup.yml | Updated Alpine image version and commented out Alpine Edge. |
eng/pipelines/installer/helix-queues-setup.yml | Updated the Alpine image version for the installer pipeline. |
eng/pipelines/coreclr/templates/helix-queues-setup.yml | Updated image tags for both public and internal pipelines. |
eng/pipelines/common/templates/pipeline-with-resources.yml | Updated Alpine image version in common pipeline resources. |
Comments suppressed due to low confidence (5)
eng/pipelines/libraries/helix-queues-setup.yml:40
- Confirm that the Alpine Edge build references remain commented out for non‑main branches as intended.
# Alpine edge builds should only be used in main
eng/pipelines/libraries/helix-queues-setup.yml:44
- Verify that the updated Alpine 3.22 image tag is supported by all dependent build tools and environments.
- (Alpine.322.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:alpine-3.22-helix-amd64
eng/pipelines/installer/helix-queues-setup.yml:36
- Ensure that the update to Alpine 3.22 in the installer pipeline is validated within the AzureLinux environment.
- (Alpine.322.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:alpine-3.22-helix-amd64
eng/pipelines/coreclr/templates/helix-queues-setup.yml:80
- Confirm that both public and internal pipeline configurations intentionally use the Alpine 3.22 image tag.
- (Alpine.322.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:alpine-3.22-helix-amd64
eng/pipelines/common/templates/pipeline-with-resources.yml:70
- Check that the update to Alpine 3.22 in the common pipeline resource template is compatible with the overall pipeline configuration.
image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-amd64
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
Co-authored-by: Jan Kotas <[email protected]>
Looks like this change came out clean. Just need an approval now. |
/azp run runtime-libraries-coreclr outerloop-linux |
Azure Pipelines successfully started running 1 pipeline(s). |
Good call. Running outer loop occurred to me. Will do that next time. BA is now green. |
/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). |
/azp run runtime-libraries-coreclr outerloop-linux |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-extra-platforms |
I removed the conditional for Alpine Edge x64. That should resolve the target queue issue. It doesn't appear to be working. Also, if it was working, it would break in the same way when we snap for RC. If it starts being noisy, we'll just remove Edge in servicing / make it the same as linux-musl-arm64. That's cheap to do. |
Inner loop looks clean. I look at all the Linux failures this time. All Linux failures are due to: |
/azp run runtime-libraries-coreclr outerloop-linux |
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
1 similar comment
Azure Pipelines successfully started running 1 pipeline(s). |
Looks pretty clean. Almost all of the Linux failures are due to the JIT issue. There is an outerloop failure that I'm not sure about. It is seen on CentOS Stream 10 and Alpine 3.22. It would be good if someone can double-check that. Looks like the following.
|
It's useful to do a double-check of our configuration choices and to leave some documentation on what the expectation of this set of changes is/was. Naturally, the following "findings" are what is expected. The PR made other changes, however, the following observations are where we made the most substantive changes that breaks the most with convention (with the intent to set new convention). These changes are intended to limit CI runs while satisfying the responsibilities that we've taken on for various users groups. Inner loopNote: These are the test queues run for PR runs. For
For
For
extra-platformsNote: This is the same inner-loop run, for an extra set of platform, run on-demand or scheduled (not run in PR by default). For
For
outerloopNote: This is a much larger set of tests, run on-demand or scheduled (not run in PR by default). For Starting Azure Pipelines Test Run net10.0-linux-Debug-x64-CoreCLR_Debug-AzureLinux.3.Amd64.Open
Starting Azure Pipelines Test Run net10.0-linux-Debug-x64-CoreCLR_Debug-Ubuntu.2204.Amd64.Open
Starting Azure Pipelines Test Run net10.0-linux-Debug-x64-CoreCLR_Debug-(AzureLinux.3.0.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:azurelinux-3.0-helix-amd64
Starting Azure Pipelines Test Run net10.0-linux-Debug-x64-CoreCLR_Debug-(Centos.10.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:centos-stream-10-helix-amd64
Using Queues: AzureLinux.3.Amd64.Open+Ubuntu.2204.Amd64.Open+(AzureLinux.3.0.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:azurelinux-3.0-helix-amd64+(Centos.10.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:centos-stream-10-helix-amd64 For
|
I think one queue would be enough for runtime inner loop. The rest looks good to me. |
Ok. Current (for runtime): # Linux x64
- ${{ if eq(parameters.platform, 'linux_x64') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- AzureLinux.3.Amd64.Open
- (Ubuntu.2204.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:ubuntu-22.04-helix-amd64
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- AzureLinux.3.Amd64
- (Ubuntu.2204.Amd64)[email protected]/dotnet-buildtools/prereqs:ubuntu-22.04-helix-amd64 Proposed: # Linux x64
- ${{ if eq(parameters.platform, 'linux_x64') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- AzureLinux.3.Amd64.Open
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- AzureLinux.3.Amd64 Is that what you are expecting? |
Yes, I think that's good enough for runtime inner loop. |
The JIT issue is fixed now. We should see much cleaner run now. |
Great. I was assuming that was the reason you merged in main. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
/azp run runtime-libraries-coreclr outerloop-linux |
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
1 similar comment
Azure Pipelines successfully started running 1 pipeline(s). |
/ba-g "Unrelated issues" |
Looks like we finally this one resolved. Thanks for all the help! |
main
. Will bring that back after the RC snap and when preparing for Alpine 3.23 becomes relevant.Related: