← Back to issue list

charm_builder: build dependencies locally (CRAFT-537)

View original Github issue

Metadata

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

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.
72%
#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.
72%
#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.
72%
#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.
72%