← Back to issue list

feat: skip repacking if project is not changed

View original Github issue

Metadata

Project
charmcraft
Number
#2890
Type
pull request
State
merged
Author
cmatsuoka
Labels
—
Created
Updated
Closed

Current evaluation

Merged PR implementing metadata mediation for config.yaml and actions.yaml so charmcraft skips repacking unchanged projects; fixes #2858 and canonical/craft-application#821.

Resolution: closed resolved

Reason: PR #2890 was merged after approval by two reviewers. Its body states it fixes #2858 and canonical/craft-application#821 by adding metadata mediation for config.yaml and actions.yaml.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Implement metadata mediation for config.yaml and actions.yaml so that the charm is not repacked if no changes are made to the project. Fixes: #2858, canonical/craft-application#821 --- - [ ] I've followed the [contribution guidelines](https://github.com/canonical/charmcraft/blob/main/CONTRIBUTING.md). - [ ] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/). - [ ] I've successfully run `make lint && make test`. - [ ] I've added or updated any relevant documentation. - [ ] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing. - [ ] I've updated the relevant release notes.

Evaluation history

Date Model Scores Action Summary
~deepseek/deepseek-pro-latest — closed resolved Merged PR implementing metadata mediation for config.yaml and actions.yaml so charmcraft skips repacking unchanged projects; fixes #2858 and canonical/craft-application#821.
~deepseek/deepseek-pro-latest
Impact: 60
Quick Win: 16
Complexity: 55
Confidence: 70
Actionability: 60
needs review Adds metadata mediation for config.yaml and actions.yaml so unchanged projects skip repacking; fixes stale .charm artifacts. Approved by 2 reviewers, but 2 review comments unresolved and OSV-scanner CI failing.
~deepseek/deepseek-pro-latest
Impact: 62
Quick Win: 14
Complexity: 58
Confidence: 78
Actionability: 55
needs review Adds metadata mediation for config.yaml and actions.yaml so unchanged projects skip repacking. Approved by 2 reviewers but has 2 unresolved comments and failing lint/OSV/snap-store CI.
~deepseek/deepseek-pro-latest
Impact: 62
Quick Win: 12
Complexity: 58
Confidence: 70
Actionability: 45
keep open Adds metadata mediation for config.yaml and actions.yaml to skip repacking unchanged charms; approved with 2 unresolved comments, lint/files and OSV-scanner failing, slow tests pending.
~deepseek/deepseek-pro-latest
Impact: 65
Quick Win: 14
Complexity: 60
Confidence: 75
Actionability: 55
needs review Adds metadata mediation for config.yaml and actions.yaml so unchanged charms skip repacking; approved with 2 unresolved comments, OSV-scanner failing, slow tests pending.
stealth/space-bunny-alpha
Impact: 52
Quick Win: 11
Complexity: 58
Confidence: 63
Actionability: 52
needs review Maintainer PR adds craft-application metadata mediation for config.yaml/actions.yaml so unchanged charms skip repacking. Fixes #2858 and craft-application#821; approved with 2 unresolved comments, OSV-scanner failing, most test jobs pending.
stealth/space-bunny-alpha
Impact: 55
Quick Win: 17
Complexity: 50
Confidence: 68
Actionability: 63
needs review Maintainer PR adds craft-application metadata mediation for config.yaml and actions.yaml so charms aren't repacked when project files are unchanged; approved by 1 reviewer with 2 unresolved comments and most CI checks still pending.
stealth/space-bunny-alpha
Impact: 60
Quick Win: 19
Complexity: 50
Confidence: 62
Actionability: 62
needs review Adds craft-application metadata mediation for config.yaml and actions.yaml so charmcraft only repacks when the project actually changed. Approved by a reviewer; CI mostly pending.
qwen/qwen3.8-27b
Impact: 55
Quick Win: 13
Complexity: 60
Confidence: 70
Actionability: 60
needs review Adds metadata mediation for config.yaml and actions.yaml so charmcraft skips repacking unchanged projects. Approved by one reviewer, but 2 review comments unresolved and most CI checks (tests, lint, snap-build, policy) still pending.
stealth/space-bunny-alpha
Impact: 52
Quick Win: 11
Complexity: 62
Confidence: 72
Actionability: 58
needs review Maintainer PR adds craft-application package_file mediation for config.yaml/actions.yaml so unchanged projects skip repacking (fixes #2858, craft-application#821). +646/-335 across 9 files; approved by 1 reviewer, 2 unresolved comments, most CI checks still pending.
stealth/space-bunny-alpha
Impact: 52
Quick Win: 17
Complexity: 45
Confidence: 66
Actionability: 58
needs review Maintainer PR adding craft-application metadata mediation for config.yaml/actions.yaml so unchanged projects skip repacking. Fixes #2858 and craft-application#821. New (1 day), 0 reviews, 1 unresolved comment; most CI green but lint/files and OSV-scanner fail, snap tests pending.
stealth/space-bunny-alpha
Impact: 48
Quick Win: 13
Complexity: 52
Confidence: 68
Actionability: 55
needs review Maintainer PR adding craft-application metadata mediation for charmcraft.yaml/actions.yaml so unchanged projects skip repacking. Fixes #2858. 0 reviews, 1 unresolved comment; lint/files and OSV-scanner failing, snap-tests still pending.
stealth/space-bunny-alpha
Impact: 52
Quick Win: 12
Complexity: 59
Confidence: 86
Actionability: 55
needs review Adds config.yaml and actions.yaml metadata mediation to avoid repacking unchanged charms. A new maintainer PR awaiting review; fast tests pass, but build and slow-test checks are pending and OSV-scanner fails.
qwen/qwen3.6-35b-a3b
Impact: 55
Quick Win: 18
Complexity: 45
Confidence: 70
Actionability: 60
needs review Implements metadata mediation for config.yaml and actions.yaml to skip repacking when project files are unchanged. New PR, pending review with CI checks still running.

Update history

Date Change
merged
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
created

Related work

  • Related To: charmcraft#2858 (confidence 100%)

    Issue fixed by this PR; body lists 'Fixes: #2858'.

  • Related To: canonical/craft-application#821 (confidence 100%)

    Issue fixed by this PR; body lists 'Fixes: canonical/craft-application#821'.

Related issues

Issue Project State Summary Similarity
#444 feat: skip repack if project files are unchanged imagecraft merged PR #444 merged: adopts craft-application's metadata mediation API so imagecraft skips repacking when project files are unchanged (+788/-57, 9 files). Implements issue #442; an AI reviewer's managed-mode blocker was retracted.
83%
#1357 feat: skip repacking if project is unchanged rockcraft closed PR #1357 by cmatsuoka merged as commit 0b6ba8bd, adopting the craft-application mediation API so Rockcraft skips repacking output artifacts when the project is unchanged. All checks passed.
80%
#442 Skip repacking when project files are not changed imagecraft open Maintainer request to adopt craft-application's package mediation API so imagecraft skips repacking unchanged projects; implementation merged in PR #444, but issue stays open/triaged pending the wider testing-workflow requirement.
78%
#821 5.5.0 changes pack semantics if the project file has different metadata craft-application open Metadata-only charmcraft.yaml edits were skipped as "Already packed," leaving stale .charm artifacts; Charmcraft PR #2890 is reported to fix repacking after the edit.
77%
#1111 feat: add conditional repacking support craft-application merged Merged PR #1111 (commit 1dfae607) added metadata mediators for conditional repacking under ST160 and released it in craft-application 7.1.0.
74%
#2874 feat: mediate creation of metadata.yaml charmcraft merged PR #2874 merged to charmcraft main (2 approvals): implements craft-application's package service API so metadata.yaml creation is mediated in Charm/rock layers, tracking CHARMCRAFT-723.
73%
#2857 Implement metadata mediation for manifest.yaml charmcraft open Maintainer-triaged feature request to add metadata mediation for manifest.yaml (craft-application packaging API) so unchanged projects are not repacked; impl PR #2877 was closed unmerged, only an autogenerated Jira sync (CHARMCRAFT-724) since.
73%
#2498 fix: `charmcraft pack --project-dir` with metadata.yaml charmcraft closed Closed unmerged; superseded by #2644, which fixed metadata lookup for --project-dir and shipped in Charmcraft 4.2.1.
72%
#2493 Packing fails when using a separate metadata.yaml file and `--project-dir` argument charmcraft closed Fixed by PR #2644 (c87eca0d), which loads separate metadata.yaml from the correct project directory. The fix was slated for Charmcraft 4.2.1.
72%
#1666 fix: only keep metadata.yaml for reactive charms charmcraft merged Merged #1666 (b2b127e6), retaining metadata.yaml only for reactive charms so non-reactive repacks no longer carry stale integration metadata; fixes #1654.
71%