docker-tools icon indicating copy to clipboard operation
docker-tools copied to clipboard

When manifest list publishing fails, the images/manifest lists are left in a half-published state

Open lbussell opened this issue 8 months ago • 3 comments

It is possible for image publishing to fail after copying images to the public ACR, and before creating and publishing manifest lists.

This causes a build to be left in a half-published state, where:

  • individual images have been published
  • manifest lists have not been published
  • no publish notification was posted
  • EOL annotations were not updated
  • image info was not updated

This most commonly happens when filtering out images that are part of a manifest list tag. Here is an example build of dotnet-framework-docker where this happened: https://dev.azure.com/dnceng/internal/_build/results?buildId=2694908&view=results

We should re-arrange the publishing steps in the following order to prevent this from happening:

  1. create manifest lists
  2. push manifest lists to staging location (e.g. build-staging/<build ID>/dotnet/...)
  3. copy all images to public acr location
  4. copy all manifest lists to public acr location
  5. proceed as usual with the rest of publishing

This would ensure that we fail the build early, before publishing any images, if there is a misconfiguration with manifest lists.

Related:

  • https://github.com/dotnet/docker-tools/issues/1511
  • https://github.com/dotnet/docker-tools/issues/1510

lbussell avatar Apr 25 '25 17:04 lbussell