Skip to content

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

@lbussell

Description

@lbussell

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:

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions