-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Revert "Pin SHAs for container images" #113248
base: main
Are you sure you want to change the base?
Conversation
This reverts commit 0f45fea.
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.
PR Overview
This PR reverts the previous change that pinned container image SHAs in the pipeline file, allowing the use of unpinned image tags to facilitate testing of Clang 20 additions.
- Reverts SHA pinning in container image references
- Enables testing of updated images with Clang 20 support
Reviewed Changes
File | Description |
---|---|
eng/pipelines/common/templates/pipeline-with-resources.yml | Removed SHA pins from container image definitions |
Copilot reviewed 1 out of 1 changed files in this pull request and generated no comments.
Comments suppressed due to low confidence (1)
eng/pipelines/common/templates/pipeline-with-resources.yml:20
- Removing the SHA pin from container image references may introduce non-determinism in builds if the image is updated unexpectedly. Consider verifying through tests or safeguards that these images remain compatible and stable.
image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-arm
/azp run runtime-libraries-coreclr outerloop-linux |
Azure Pipelines successfully started running 1 pipeline(s). |
Noticed here https://dev.azure.com/dnceng-public/public/_build/results?buildId=971589&view=logs&jobId=62b70ecb-649d-5f05-1138-74c7e6e4705f&j=2f68d9b0-7564-5966-3317-2e2aa7d356c0&t=eee86911-880c-5ea0-1825-5072a102d343, it's still picking up llvm 19 images:
|
Odd. I opened this PR after seeing this change pushed: dotnet/versions@917ff98. That diff suggests (to me) that there was a source change not just a re-build. I think it was from this change: dotnet/dotnet-buildtools-prereqs-docker@4ac71d0. That's strange since that was 2 days ago. Hopefully the expected changes are published today. If not, someone will need to take a look at the publish pipeline. |
The changes from dotnet/dotnet-buildtools-prereqs-docker#1369 didn't get properly published because crossdeps-llvm was never rebuilt: dotnet/dotnet-buildtools-prereqs-docker#1369 (comment). I've started a new build about an hour ago to fix that. These builds take like 7 hrs so it'll be a while. |
Thanks @mthalman! Nothing is ever simple around here! |
This looks better: $ docker run --rm mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-amd64-musl clang --version
clang version 20.1.0
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin |
/azp run runtime-libraries-coreclr outerloop-linux |
Azure Pipelines successfully started running 1 pipeline(s). |
Looks like our conservative approach with pinning was warranted and saved a bunch repo-wide hassle. There are a few patterns that are now disallowed (at least by default) by the compiler, I'm guessing. Lots of errors like: In file included from <built-in>:1:
In file included from /__w/1/s/artifacts/obj/coreclr/linux.x86.Checked/vm/wks/CMakeFiles/cee_wks_mergeable.dir/cmake_pch.hxx:5:
In file included from /__w/1/s/src/coreclr/vm/common.h:302:
In file included from /__w/1/s/src/coreclr/vm/ceeload.h:40:
In file included from /__w/1/s/src/coreclr/vm/readytoruninfo.h:14:
In file included from /__w/1/s/src/coreclr/vm/nativeformatreader.h:15:
In file included from /usr/local/lib/clang/20/include/emmintrin.h:17:
/usr/local/lib/clang/20/include/xmmintrin.h:148:3: error: statement not allowed in constexpr function
148 | return (__m128)((__v4sf)__a - (__v4sf)__b);
| ^
/__w/1/s/src/coreclr/inc/debugreturn.h:101:16: note: expanded from macro 'return'
101 | #define return for (;1;__ReturnOK::safe_to_return()) return
| ^ |
Reverts #113185
Reverting enables us to safely test Clang 20 being added to these images per dotnet/dotnet-buildtools-prereqs-docker#1369