Skip to content

fix: retain multiplatform manifest list annotations #1120

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

Conversation

robert-cronin
Copy link
Contributor

Retain multiplatform manifest list annotations
Add annotation verification to multiplatform integration tests

Closes #1119

Example of patched image now with annotations retained: https://oci.dag.dev/?image=ghcr.io%2Frobert-cronin%2Fnginx%3A1.27.0-patched-annotations

Copy link

codecov bot commented Jun 17, 2025

Codecov Report

Attention: Patch coverage is 0.58480% with 170 lines in your changes missing coverage. Please review.

Project coverage is 40.51%. Comparing base (e9da0ea) to head (b9a1a75).
Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
pkg/patch/patch.go 0.94% 105 Missing ⚠️
pkg/utils/utils.go 0.00% 65 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1120      +/-   ##
==========================================
- Coverage   42.35%   40.51%   -1.85%     
==========================================
  Files          24       24              
  Lines        3619     3786     +167     
==========================================
+ Hits         1533     1534       +1     
- Misses       1974     2140     +166     
  Partials      112      112              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@robert-cronin robert-cronin changed the title Retain multiplatform manifest list annotations fix: retain multiplatform manifest list annotations Jun 17, 2025
@robert-cronin robert-cronin force-pushed the feat/retain-multiplatform-manifest-list-annotations branch 5 times, most recently from 9f88210 to 179a92b Compare June 20, 2025 00:10
@sozercan sozercan added this to the v0.11.0 milestone Jun 25, 2025
@sozercan
Copy link
Member

@robert-cronin merged podman pr, a few minor conflicts on this one now.

@leodewang leodewang moved this from 🆕 New to 👀 In review in Copacetic Workboard Jun 27, 2025
@robert-cronin robert-cronin force-pushed the feat/retain-multiplatform-manifest-list-annotations branch from 179a92b to 2c651e1 Compare June 30, 2025 00:53
@robert-cronin robert-cronin force-pushed the feat/retain-multiplatform-manifest-list-annotations branch from a37e414 to 7c58eb9 Compare June 30, 2025 03:38
@robert-cronin
Copy link
Contributor Author

robert-cronin commented Jun 30, 2025

@robert-cronin merged podman pr, a few minor conflicts on this one now.

@sozercan thank you, should be fixed now!

@sozercan
Copy link
Member

sozercan commented Jun 30, 2025

discussed offline with @robert-cronin about moving annotations to index level, removing patched bool annotation, and changing timestamp annotation to "last patched" (perhaps there might be prior art in predefined oci annotations)

Signed-off-by: robert-cronin <[email protected]>
@robert-cronin robert-cronin force-pushed the feat/retain-multiplatform-manifest-list-annotations branch from 39075e5 to 0299747 Compare July 1, 2025 08:21
@robert-cronin
Copy link
Contributor Author

robert-cronin commented Jul 1, 2025

discussed offline with @robert-cronin about moving annotations to index level, removing patched bool annotation, and changing timestamp annotation to "last patched" (perhaps there might be prior art in predefined oci annotations)

@sozercan I've moved the copa specific annotation over to the platform level on both the manifest level and inside the manifest list on the per-platform annotations themselves. Below is an example patched image:

manifest list: https://oci.dag.dev/?image=ghcr.io%2Frobert-cronin%2Fnginx%3A1.27.0-patched-annotations
manifest: https://oci.dag.dev/?image=ghcr.io/robert-cronin/nginx@sha256:6de1ae4e914ece469361cfea1ca122cbd424f8748e8cbb50a769dd22b9ec619e&mt=application%2Fvnd.oci.image.manifest.v1%2Bjson&size=1885

@sozercan
Copy link
Member

sozercan commented Jul 1, 2025

@robert-cronin i pushed a change to change annotation to image.patched. this aligns with eol annotations https://toddysm.com/2023/07/18/using-oci-annotation-to-track-container-image-lifecycle/

Signed-off-by: Sertac Ozercan <[email protected]>
@sozercan sozercan force-pushed the feat/retain-multiplatform-manifest-list-annotations branch from d1e29dc to b5f5d14 Compare July 1, 2025 17:42
@robert-cronin
Copy link
Contributor Author

@robert-cronin i pushed a change to change annotation to image.patched. this aligns with eol annotations https://toddysm.com/2023/07/18/using-oci-annotation-to-track-container-image-lifecycle/

Sounds good to me, thank you!

@robert-cronin robert-cronin merged commit 20d5b6f into project-copacetic:main Jul 1, 2025
29 of 30 checks passed
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in Copacetic Workboard Jul 1, 2025
ashnamehrotra pushed a commit that referenced this pull request Jul 2, 2025
Signed-off-by: robert-cronin <[email protected]>
Signed-off-by: Sertac Ozercan <[email protected]>
Co-authored-by: Sertaç Özercan <[email protected]>
Co-authored-by: Sertac Ozercan <[email protected]>
Signed-off-by: ashnamehrotra <[email protected]>
blazethunderstorm pushed a commit to blazethunderstorm/copacetic that referenced this pull request Jul 3, 2025
…c#1120)

Signed-off-by: robert-cronin <[email protected]>
Signed-off-by: Sertac Ozercan <[email protected]>
Co-authored-by: Sertaç Özercan <[email protected]>
Co-authored-by: Sertac Ozercan <[email protected]>
Signed-off-by: Anirudh Narang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[REQ] multiplatform patched manifest lists should retain annotations
2 participants