← Back to issue list

Enforce that the build and run base are the same* base

View original Github issue

Metadata

Project
craft-application
Number
#915
Type
issue
State
open
Author
lengau
Labels
Created
Updated
Closed

Current evaluation

Feature request to enforce build-base must match base in the Project model, with defined exceptions (bare, devel, legacy overrides). Filed by maintainer, 1 comment, no labels, no assignee, inactive ~11 months. Code still lacks this enforcement.

Suggested action: needs triage

Reason: Filed by maintainer lengau with no labels, no assignee, and only one passing comment from @steinbro about snapcraft base snaps. The code in craft_application/models/project.py still only validates devel-base and bare-base cases (lines 279-313) but does not enforce the general build-base == base rule described in the issue. No PR or commit in the git history addresses this specific enforcement, so the issue remains valid but untriaged.

Impact: 45 Quick Win: 18.0 Staleness: 68 Complexity: 60 Confidence: 72 Support Request: 0

Issue body

### What needs to get done With certain exceptions, `build-base` and `base` should not be able to differ from each other. `build-base` is thus optional but must match `base`. Currently known exceptions: - `base: bare` allows any build base, but it requires `build-base` to be defined. - Any in-development base must be matched with its appropriate build-base. (Craft Application provides those mappings, but the app can apply supplemental mappings. An in-development base is defined as one that exists in either of those mappings.) - An app may implement a method that provides specific overrides, but the use of this method is discouraged and only there for legacy purposes ### Why it needs to get done Currently apps are enforcing this (or not enforcing it) ad-hoc. We should move to this being strictly enforced with the app being able to loosen those requirements if needed.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 45
Quick Win: 18.0
Staleness: 68
Complexity: 60
Confidence: 72
Support Request: 0
needs triage Feature request to enforce build-base must match base in the Project model, with defined exceptions (bare, devel, legacy overrides). Filed by maintainer, 1 comment, no labels, no assignee, inactive ~11 months. Code still lacks this enforcement.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 75
Confidence: 70
Support Request: 20
needs triage Issue proposes strict enforcement that build-base and base must match, with specific exceptions. Currently inactive for over a year, no maintainer response, lacks labels, and requires architectural decision.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 65
Confidence: 85
Support Request: 0
needs triage Feature request to strictly enforce matching build-base and base fields with defined exceptions. Currently unlabelled and inactive for nearly 10 months, awaiting prioritization.
qwen3.6-35b-a3b-mtp-q6
Staleness: 65
Complexity: 40
Confidence: 80
Support Request: 5
needs triage Enforce strict matching of build-base and base, with exceptions for bare and in-development bases. Currently handled ad-hoc by apps. Open and inactive for 270 days, awaiting implementation or triage.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1733 Don't allow `build-base` on stable bases charmcraft open Feature request to reject build-base on stable bases in platforms charms, plus documentation. Created by maintainer 776 days ago, no labels, no maintainer response beyond Jira bot. Code still allows build-base on stable bases; not implemented.
71%