charm_builder: build dependencies locally (CRAFT-537)
Metadata
Current evaluation
Merged changes to charm_builder that build binary dependencies locally instead of installing them. A persistent virtual environment caches dependencies to prevent rebuilds. Approved by two reviewers, passed CI, and modified seven files.
Suggested action: —
No scores available.
Issue body
Comply with the requirement of not installing binary dependencies,
building them locally instead. The process may take a long time to
complete, so use the venv module to install requirements to a persistent
staging virtualenv so that dependencies already installed won't be
reinstalled (and rebuilt) when the charm is repacked.
Note: This solution installs additional dependencies to venv
(setup-tools, pip, and pkg_resources).
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged changes to charm_builder that build binary dependencies locally instead of installing them. A persistent virtual environment caches dependencies to prevent rebuilds. Approved by two reviewers, passed CI, and modified seven files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged updates to charm_builder that build dependencies locally instead of installing binaries. A persistent staging virtualenv caches requirements to prevent redundant rebuilds during charm repacking, resolving CRAFT-537. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged PR updates charm_builder to compile dependencies locally instead of binaries. A persistent staging virtualenv caches builds to prevent redundant recompilation during charm repacking, resolving CRAFT-537. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #438 commands/build: output charms to cwd when using provider (CRAFT-359) | charmcraft | merged | Merged after two approvals and passing CI. The change updates build commands to output charms directly to the current working directory when using a provider, simplifying file placement and retrieval. Modified five files with 177 additions and five deletions. | |
| #453 build: spin off charm builder as a separate tool (CRAFT-373) | charmcraft | merged | Merged. Extracts charm building routines into a standalone CharmBuilder tool. Replaces PR #452 by deferring venv and pip features. Tests updated for new invocation with no behavioral changes. Approved and passed CI. | |
| #411 build: pack charm in provided environment when using bases (CRAFT-313) | charmcraft | merged | Merged implementation for packing charms in provided environments per bases configuration (CRAFT-313). Approved by two reviewers, modifying two files (+175/-30). Future work will add verbose and quiet mode flag support. | |
| #458 build: integrate craft-parts lifecycle (CRAFT-89, CRAFT-367, CRAFT-357) | charmcraft | merged | Integrated the craft-parts lifecycle to execute the charm builder via a craft-parts charm build plugin. Merged after two approvals and passing CI checks. Author plans to refactor plugin-level transformations in a follow-up. |