feat(init): support base-specific profiles
Metadata
Current evaluation
Adds base-specific profile support to `charmcraft init` via `--base` flag, enabling Ubuntu 26.04 framework template selection. Approved by 1 reviewer with 0 unresolved comments, but CI has failures on some Ubuntu versions and minimum dependencies.
Suggested action: keep open
Reason: The PR is fresh (4 days old) and has been approved by 1 reviewer with 0 unresolved comments. However, CI has failures on snap-tests (ubuntu-22.04-64, ubuntu-20.04-64, ubuntu-25.10-64) and minimum dependencies, and reviewer @lengau suggested modifying tests/spread/commands/init-extensions/task.yaml to test the new `--base` functionality. These items need to be addressed before merging.
Impact:
45
Quick Win:
20.25
Staleness:
10
Complexity:
55
Confidence:
65
Issue body
Charmcraft has Ubuntu 26.04 framework templates, but users cannot select them through `charmcraft init`. This migrates Charmcraft to the generic craft-application init flow so profiles can expose base-specific variants through `--base`.
The command now discovers profiles from versioned `<profile>__<base>` template directories and delegates base validation, variant selection, collision checks, and rendering to craft-application. A Charmcraft-specific init service preserves charm author metadata, class and workload module naming, executable modes, existing output guidance, and compatibility options. Ubuntu 24.04 remains the default, while the six framework profiles can select Ubuntu 26.04 explicitly.
Validation includes the fast and slow init suites, application integration tests, linting, CLI smoke tests, and wheel template inspection. The documentation build remains blocked by the pre-existing isolated-environment failure to import `craft_parts_docs` from `docs/conf.py`.
---
- [ ] I've followed the [contribution guidelines](https://github.com/canonical/charmcraft/blob/main/CONTRIBUTING.md).
- [ ] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/).
- [ ] I've successfully run `make lint && make test`.
- [x] I've added or updated any relevant documentation.
- [x] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing.
- [x] I've updated the relevant release notes.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b |
Impact:
45
Quick Win:
20.25
Staleness:
10
Complexity:
55
Confidence:
65
|
keep open | Adds base-specific profile support to `charmcraft init` via `--base` flag, enabling Ubuntu 26.04 framework template selection. Approved by 1 reviewer with 0 unresolved comments, but CI has failures on some Ubuntu versions and minimum dependencies. | |
| qwen/qwen3.6-35b-a3b |
Impact:
60
Quick Win:
21.0
Staleness:
5
Complexity:
65
Confidence:
75
|
needs review | Adds base-specific profile support to charmcraft init, migrating to craft-application's init flow for Ubuntu 26.04 framework templates. Under active review with maintainer requesting test changes. | |
| qwen/qwen3.6-35b-a3b |
Impact:
55
Quick Win:
19.25
Staleness:
10
Complexity:
65
Confidence:
75
|
needs review | Adds base-specific profile support to charmcraft init, migrating to craft-application init flow for Ubuntu 24.04/26.04 base variants. Under review with maintainer requesting test updates. | |
| qwen/qwen3.6-35b-a3b |
Impact:
45
Quick Win:
15.75
Staleness:
5
Complexity:
65
Confidence:
75
|
needs review | Adds base-specific profile support to charmcraft init via craft-application migration, enabling Ubuntu 26.04 framework templates. Under review with maintainer requesting test updates. | |
| qwen/qwen3.6-35b-a3b |
Impact:
55
Quick Win:
19.25
Staleness:
10
Complexity:
65
Confidence:
75
|
needs review | Adds base-specific profile support to charmcraft init via --base flag, migrating to craft-application init flow. Fresh PR with maintainer requesting test updates; CI mostly passing. | |
| qwen/qwen3.6-35b-a3b |
Impact:
65
Quick Win:
19.5
Staleness:
5
Complexity:
70
Confidence:
80
|
needs review | Adds base-specific profile support to charmcraft init, migrating to craft-application's init flow for Ubuntu 26.04 framework templates. Fresh PR with pending CI and one maintainer review comment requesting test modifications. | |
| qwen/qwen3.6-35b-a3b |
Impact:
45
Quick Win:
15.75
Staleness:
10
Complexity:
65
Confidence:
65
|
needs review | Adds base-specific profile support to charmcraft init via craft-application integration, discovering versioned template directories and delegating base validation. Fresh PR with 0 reviewers, 2 unresolved comments, and CI failing on Ubuntu 20.04/22.04/25.10. | |
| qwen/qwen3.6-35b-a3b |
Impact:
55
Quick Win:
19.25
Staleness:
5
Complexity:
65
Confidence:
70
|
needs review | Adds base-specific profile support to charmcraft init, delegating to craft-application. Fresh PR with 0 reviewers, 2 unresolved review comments, and 3 failing CI tests on specific Ubuntu versions. | |
| qwen/qwen3.6-35b-a3b |
Impact:
55
Quick Win:
19.25
Staleness:
5
Complexity:
65
Confidence:
65
|
needs review | Adds base-specific profile support to charmcraft init by delegating to craft-application's init flow, enabling Ubuntu 26.04 framework templates via --base flag | |
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
55
Quick Win:
13.75
Staleness:
0
Complexity:
75
Confidence:
65
|
needs review | Adds base-specific profile support to charmcraft init by migrating to craft-application flow, enabling Ubuntu 26.04 framework template selection via --base flag. | |
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
60
Quick Win:
15.0
Staleness:
0
Complexity:
75
Confidence:
75
|
needs review | Adds base-specific profile support to charmcraft init, enabling Ubuntu 26.04 framework templates via --base flag. Migrates to craft-application init flow. 107 files changed, CI tests pending. | |
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
65
Quick Win:
18.2
Staleness:
0
Complexity:
72
Confidence:
75
|
needs review | Adds base-specific profile support to charmcraft init via craft-application integration, enabling Ubuntu 26.04 template selection with --base flag. Fresh PR pending maintainer review. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| created |
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1137 feat: add --base option to the init command | craft-application | merged | Merged after three approvals and passing CI. Adds a --base option to the init command for specifying profile template variants. A reviewer noted the implementation could be more generic, but the feature was accepted and integrated. | |
| #1800 feat: go-framework init profile and extension | charmcraft | merged | Merged. Adds go-framework init profile and extension to charmcraft per ISD153. Uses Ubuntu 24.04 base, restricts to amd64, and refactors 12-factor extensions to inherit from _TwelveFactorBase. Approved by three reviewers and passed CI. |