Skip to content

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
Signed-off-by: robert-cronin <robert.owen.cronin@gmail.com>
Signed-off-by: robert-cronin <robert.owen.cronin@gmail.com>
@robert-cronin robert-cronin force-pushed the feat/retain-multiplatform-manifest-list-annotations branch from 179a92b to 2c651e1 Compare June 30, 2025 00:53
Signed-off-by: robert-cronin <robert.owen.cronin@gmail.com>
@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 <robert.owen.cronin@gmail.com>
@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 <sozercan@gmail.com>
@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 <robert.owen.cronin@gmail.com>
Signed-off-by: Sertac Ozercan <sozercan@gmail.com>
Co-authored-by: Sertaç Özercan <852750+sozercan@users.noreply.github.com>
Co-authored-by: Sertac Ozercan <sozercan@gmail.com>
Signed-off-by: ashnamehrotra <ashnamehrotra@gmail.com>
blazethunderstorm pushed a commit to blazethunderstorm/copacetic that referenced this pull request Jul 3, 2025
…c#1120)

Signed-off-by: robert-cronin <robert.owen.cronin@gmail.com>
Signed-off-by: Sertac Ozercan <sozercan@gmail.com>
Co-authored-by: Sertaç Özercan <852750+sozercan@users.noreply.github.com>
Co-authored-by: Sertac Ozercan <sozercan@gmail.com>
Signed-off-by: Anirudh Narang <anirudhnarang0@gmail.com>
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