feat(pack): add shared cache support
Metadata
Current evaluation
Merged feature adding shared cache support for charmcraft. Enabled by default with pip-only initial support, configurable via CRAFT_SHARED_CACHE. Resolves issue #1256 after passing CI and two approvals, despite minor unresolved test comments.
Suggested action: —
No scores available.
Issue body
Default enabled.
Currently only support pip.
Default cache storage at `~/.cache/charmcraft`
Path could be changed use env `CRAFT_SHARED_CACHE=XXX`
Fix: https://github.com/canonical/charmcraft/issues/1256
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged feature adding shared cache support for charmcraft. Enabled by default with pip-only initial support, configurable via CRAFT_SHARED_CACHE. Resolves issue #1256 after passing CI and two approvals, despite minor unresolved test comments. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged to implement shared cache support for packaging, defaulting to pip with storage in ~/.cache/charmcraft. Configurable via CRAFT_SHARED_CACHE. Resolves issue #1256. Minor test glob expansion concerns were noted but deemed unrelated. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged to resolve issue #1256. Adds default-enabled shared cache support for pip packaging, stored at ~/.cache/charmcraft and configurable via CRAFT_SHARED_CACHE. Minor test glob expansion issues were noted but deemed unrelated. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1256 Support global cache for pip in charmcraft | charmcraft | closed | Merged via PR #1249, integrating the global pip cache feature from craft-providers into charmcraft. This enables package and wheel reuse across containers, reducing charm build times. | |
| #1989 feat(docs): add information about CRAFT_SHARED_CACHE | charmcraft | merged | Merged documentation update detailing the CRAFT_SHARED_CACHE environment variable. Approved by two reviewers, the change adds 80 lines across three files and finalizes the feature after initial draft discussions on cache directory configurations. | |
| #4966 Shared cache for Python wheels | snapcraft | open | Feature request to bring Charmcraft's shared cache for Python wheels to snapcraft, reducing redundant wheel downloads and rebuilds. Filed by maintainer lengau 747 days ago; only a bot Jira-sync comment exists, no labels, assignee, or maintainer response. No evidence of implementation in snapcraft or craft-parts codebase. |