Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
lbussell opened this issue Nov 11, 2024 · 2 comments

Comments

@lbussell
Copy link
Contributor

lbussell commented Nov 11, 2024

Context: #1493 (comment)

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
  11. Partial version update (e.g. SDK-only release)

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 lbussell moved this from Backlog to Current Release in .NET Docker Nov 18, 2024
@lbussell
Copy link
Contributor Author

[Triage] Documentation is a good low-cost first step here. The long term aspiration should be to have a library of test "scenarios" covering cases like these, which we can share between many commands. That would also make the documentation obsolete and we could focus on maintaining and expanding the library of test cases shared between commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Current Release
Development

No branches or pull requests

1 participant