You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Image Builder's image caching logic doesn't account for a Dockerfile having ARG instructions defined which may vary across builds. This can lead to cache hits when a cache miss should occur, which would mean not re-building an image when it should be. This can occur in the following scenario:
Dockerfile commit is the same as the previously published image
Base image digest is the same as the previously published image
The ARG value is different than the value that was used for the previously published image
In order to fix this, it would be necessary to store the ARG values in the image info file that gets stored in https://github.com/dotnet/versions/tree/main/build-info/docker. Then the logic could retrieve those values and compare them to the current value to see whether they're the same or different.
[Triage] Closing as not planned since there isn't currently an issue with this behavior. We should re-open if we decide to use ARGS to accomplish dotnet/dotnet-buildtools-prereqs-docker#1267.
Image Builder's image caching logic doesn't account for a Dockerfile having
ARG
instructions defined which may vary across builds. This can lead to cache hits when a cache miss should occur, which would mean not re-building an image when it should be. This can occur in the following scenario:ARG
value is different than the value that was used for the previously published imageIn order to fix this, it would be necessary to store the
ARG
values in the image info file that gets stored in https://github.com/dotnet/versions/tree/main/build-info/docker. Then the logic could retrieve those values and compare them to the current value to see whether they're the same or different.There are currently no practical examples of this issue. All of the usages of
ARG
amongst our Dockerfiles are essentially statically defined with no intent to change them. However, it may become relevant based on any improvements we decide to make in https://github.com/dotnet/dotnet-buildtools-prereqs-docker to improve maintainability, such as dotnet/dotnet-buildtools-prereqs-docker#1267.The text was updated successfully, but these errors were encountered: