build: spin off charm builder as a separate tool (CRAFT-373)
Metadata
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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. | |
| #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). |