← Back to issue list

feat: allow `devel` in multi-base charm builds

View original Github issue

Metadata

Project
craft-platforms
Number
#217
Type
pull request
State
open
Author
Copilot
Labels
—
Created
Updated
Closed
—

Current evaluation

Lets `devel` be used in multi-base charm `build-on` entries: validation and build planning now use the per-entry build base, rejecting mixed devel+stable and devel+base-less mixes. Adds unit plus hypothesis-filter tests. Approved by 2 reviewers, all CI green, but 10 review threads unresolved.

Suggested action: needs review

Reason: Review status is 'approved (2 reviewers)' with every CI check passing (lint / files, Fast + Slow tests across 22.04/24.04/26.04 incl. arm and Python 3.10–3.14, Minimum dependencies) and none failing or pending, and the author addressed the last maintainer request ('@copilot fix the linting issues') in 542fbb6. It implements triaged issue craft-platforms#85 with a contained +160/-18 diff across the charm build planner and its tests. It is not yet landed: last activity is 77 days ago with 10 unresolved review comment threads and no maintainer merge action, so it is awaiting final re-review rather than ready to merge immediately. Confidence is capped because the content of those 10 unresolved inline threads is not visible in the gathered context — they could be bot nitpicks or substantive design objections about the mixed devel/stable rejection semantics.

Evaluated by: mr-cal-bot

Impact: 45 Quick Win: 19 Complexity: 40 Confidence: 72 Actionability: 70

Issue body

- [x] Explore codebase and understand the issue - [x] Fix `_validate_base_definition` to allow `devel` series in `build-on` entries - [x] Fix `get_platforms_charm_build_plan` to use per-entry build base when present - [x] Add test cases for the new `devel` build-on functionality - [x] Update the hypothesis fuzz test filter to allow valid devel build-on cases - [x] Reject mixed devel+stable `build-on` (consistent with rejecting two different stable bases) - [x] Fix Hypothesis filter bugs: vectorise `build-on`/`build-for` scalars, reject mixed devel+stable within filter - [x] Fix linting issues: use `Set[Optional[str]]` for Python 3.8 compat, fix ruff format violations - [x] Reject devel+base-less mixing in `build-on` (base-less entries inherit a stable top-level base) - [x] Run tests (545/545 pass)

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 45
Quick Win: 19
Complexity: 40
Confidence: 72
Actionability: 70
needs review Lets `devel` be used in multi-base charm `build-on` entries: validation and build planning now use the per-entry build base, rejecting mixed devel+stable and devel+base-less mixes. Adds unit plus hypothesis-filter tests. Approved by 2 reviewers, all CI green, but 10 review threads unresolved.
stealth/space-bunny-alpha
Impact: 48
Quick Win: 18
Complexity: 47
Confidence: 92
Actionability: 72
needs review Adds per-entry devel build-base support to multi-base charm plans, rejects mixed bases, and expands tests; approved with all CI green, but 10 review comments remain unresolved.
stealth/space-bunny-alpha
Impact: 42
Quick Win: 20
Complexity: 44
Confidence: 88
Actionability: 85
needs review Adds devel support to per-entry multi-base charm build plans, rejects mixed devel and stable bases, and expands tests. Approved with all CI passing; 10 review comments remain unresolved.
stealth/space-bunny-alpha
Impact: 45
Quick Win: 18
Complexity: 36
Confidence: 90
Actionability: 62
needs review Adds validation and per-entry base selection for devel in multi-base charm build-on, with tests; all CI is green and two reviewers approved, but 10 review comments remain unresolved.
qwen3.6-35b-a3b-mtp-q6
Impact: 50
Quick Win: 28
Staleness: 55
Complexity: 45
Confidence: 70
needs review Allow devel series in multi-base charm build-on entries. Approved by 2 reviewers with 10 unresolved comments, all CI passing, last activity 49 days ago.
qwen/qwen3.6-35b-a3b
Staleness: 10
Complexity: 35
Confidence: 90
needs review Allows devel series in multi-base charm build-on entries, updates validation and build plan logic, adds tests, and fixes linting. Approved by two reviewers, CI passing, and recently updated.
qwen3.6-35b-a3b-mtp-q6
Staleness: 5
Complexity: 45
Confidence: 90
needs review Adds support for devel series in multi-base charm builds by updating validation and build plan logic. Includes tests and addresses maintainer linting feedback. Currently awaiting review.

Update history

No update history recorded yet.

Related work

  • Related To: craft-platforms#85 (confidence 90%)

    Triaged issue 'Allow `devel` in multi-base builds'; this PR is its implementation and remains the open path to closing it.

  • Related To: charmcraft#2507 (confidence 55%)

    Downstream user-facing context for `devel` build-base charms (questing base + devel build-base EOL-data failure), showing real demand for devel build-base support.

Related issues

Issue Project State Summary Similarity
#85 Allow `devel` in multi-base builds craft-platforms open Enhancement to let `devel` build bases be used in charm multi-base `build-on` entries; design agreed with lengau, implementation PR #217 approved and green but still unmerged with open review threads.
88%
#598 feat: allow for multi-base builds craft-application merged Merged as d81c39a7; allowed bases in platform entries so applications can implement multi-base build plans, fixing #569 (CRAFT-3719).
70%
#81 feat: multi-base support for charm build plans craft-platforms merged Merged PR #81 as commit 519b705, adding multi-base charm build-plan support and fixing #73, with stricter shorthand validation and CraftPlatformsError.
70%