← Back to issue list

build: spin off charm builder as a separate tool (CRAFT-373)

View original Github issue

Metadata

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

Current evaluation

Merged #453 in commit 3e5eed05, extracting charm-building routines into a standalone CharmBuilder invoked by build; venv and pip enhancements were deferred.

Resolution: closed resolved

Reason: The approved PR was merged as commit 3e5eed05, completing the standalone charm-builder refactor requested by CRAFT-373.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Move charm building routiness to a stand-alone charm builder tool invoked from the "build" command. This PR includes partial content from PR #452 and will replace it. All extra features such as venv support, pip binary control and installation of python packages have been removed. This will allow us to move forward and discuss venv support and consequences at a later moment. Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged #453 in commit 3e5eed05, extracting charm-building routines into a standalone CharmBuilder invoked by build; venv and pip enhancements were deferred.
stealth/space-bunny-alpha — closed resolved PR #453 merged (commit 3e5eed05, CRAFT-373): charm building logic spun out into a standalone CharmBuilder tool (charmcraft/charm_builder.py) invoked by the build command; venv/pip features dropped and PR #452 closed.
stealth/space-bunny-alpha — closed resolved Merged PR #453 (commit 23b6c74f, merge 3e5eed05) spun charm building out of Builder into a standalone CharmBuilder tool invoked by the build command; venv/pip features dropped and deferred.
stealth/space-bunny-alpha — closed resolved Merged PR #453 (CRAFT-373), extracting charm-building routines into a standalone CharmBuilder invoked by the build command; venv and pip-related features were deferred.
qwen/qwen3.6-35b-a3b — — 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.
qwen3.6-35b-a3b-mtp-q6 — — Merged. Extracted charm building routines into a standalone CharmBuilder tool invoked by the build command, superseding PR #452. Removed venv and pip features for later discussion. Tests updated to reflect the new invocation and mock patches.

Update history

No update history recorded yet.

Related work

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

    The merged PR included partial content from #452 and explicitly replaced it; #452 is closed.

Related issues

Issue Project State Summary Similarity
#452 build: create charm builder tool (CRAFT-373) charmcraft closed Superseded by merged charmcraft#453, which moved charm-building logic to a standalone CharmBuilder; the venv and pip optimizations were deferred.
91%
#541 charm_builder: build dependencies locally (CRAFT-537) charmcraft merged Merged in charmcraft#541 via 0d14d8a2: charm_builder now builds dependencies locally in a persistent staging venv, avoiding binary dependencies and repeat rebuilds during repacks.
77%
#458 build: integrate craft-parts lifecycle (CRAFT-89, CRAFT-367, CRAFT-357) charmcraft merged Merged PR #458 via 9dc20872 (implementation 437dab55), adding a craft-parts lifecycle and charm build plugin to run the charm builder.
75%
#865 Isolated charm_builder.py as a generic plugin script (CRAFT-1032). charmcraft merged Merged as commit 56242113, isolating charm_builder.py as a standalone plugin with stdout output and RuntimeError, fixing #750.
74%
#2835 fix(plugins): use part_build_subdir for charm source copy charmcraft merged Merged as charmcraft#2835 (4dd1ae35), fixing #2839 by using part_build_subdir for charm source and library copying in the Python, Poetry, and uv plugins.
71%
#1546 feat: remote build command charmcraft merged Merged PR #1546 as df5e9c4f, adding Charmcraft 3's remote-build command; bundle builds were addressed separately by merged PR #1550 (c73fd609).
70%