dotnet / docker-tools

This is a repo to house some common tools for our various docker repos.
MIT License
124 stars 46 forks source link

Document known edge cases for infrastructure operating on Manifest and ImageArtifactDetails #1495

Open lbussell opened 4 days ago

lbussell commented 4 days ago

Context: https://github.com/dotnet/docker-tools/issues/1493#issuecomment-2468542699

We should have some infrastructure or documentation that details the common edge cases that new ImageBuilder features need to test against. Some examples include:

  1. Adding images
  2. Removing images
  3. Adding tags
  4. Removing tags
  5. All images cached
  6. No images cached
  7. Retry when the command failed
  8. Retry when a previous pipeline step failed
  9. Retry when a subsequent pipeline step failed (meaning - commands should be idempotent)
  10. ImageInfo is updated mid-publish

This documentation should guide future implementation of tests. For the next feature we implement, we may find it useful to add some common definitions of test data for these scenarios.

Documentation should go in README.md, src/Microsoft.DotNet.ImageBuilder/README.md, or a new CONTRIBUTING.md file.

lbussell commented 4 days ago

Prior bugs that we should take into account (that we are trying to avoid in the future):

Matrix trimming:

Lifecycle annotations: