← Back to issue list

feat(init): support base-specific profiles

View original Github issue

Metadata

Project
charmcraft
Number
#2873
Type
pull request
State
open
Author
alithethird
Labels
Created
Updated
Closed

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.
76%
#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.
70%