Skip to content

Path-filtered builds can overwrite shared tags with partial manifest lists #2107

Closed

Description

@lbussell

Path-filtered builds can overwrite shared tags with partial manifest lists.

This happened in the dotnet-docker samples official pipeline. Issue: dotnet/dotnet-docker#7191

The latest samples run was manually queued with only the nanoserver sample Dockerfiles:

--path 'samples/dotnetapp/Dockerfile.nanoserver' --path 'samples/aspnetapp/Dockerfile.nanoserver'

Run: https://dev.azure.com/dnceng/internal/_build/results?buildId=2973445

That run succeeded, but Create Manifest Lists created shared tags from only the Windows platform tags.

Copy Images then imported those partial shared tags into the public repo. The public tags aspnetapp, aspnetapp-10.0, dotnetapp, dotnetapp-10.0, and latest now only contain Windows entries.

The previous samples run included all sample Dockerfiles and produced complete Linux + Windows manifest lists:
https://dev.azure.com/dnceng/internal/_build/results?buildId=2973256

This appears related to the ImageBuilder change from #2030 / f6e7c49, which moved manifest-list creation to Post_Build and creates manifest lists from the platforms present in the current build image-info. That is unsafe for official publishes when --path selects only part of an image's platform set.

Activity

  1. lbussell commented on May 18, 2026

    @lbussell
    MemberAuthor

    [triage] Related: #1681

  2. self-assigned this
    on May 18, 2026
  3. added theissue type on May 18, 2026
  4. moved this from Backlog to In Progress in .NET Dockeron May 18, 2026
  5. added 4 commits that reference this issue on May 20, 2026
    654d37f
    5a0828c
    0a935bd
    47ba677
  6. moved this from In Progress to Done in .NET Dockeron May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions