manifest: add bases support to create_manifest() (CRAFT-63)
Metadata
Current evaluation
Merged after approval and CI checks. Adds an optional bases_config parameter to create_manifest() and relocates it to a dedicated module to prevent import loops. Runtime retains legacy behavior while new tests prepare for future bases implementation.
Suggested action: —
No scores available.
Issue body
- Move create_manifest() out of utils into its own module. This will
prevent a potential import loop due to dependencies on util in config.
- Add optional bases_config parameter to use the run-on bases
configuration.
Note that runtime usage still only invokes the "legacy" non-bases
configuration. Future work will enable the usage of bases and this
just adds test coverage for the future case.
Signed-off-by: Chris Patterson <chris.patterson@canonical.com>
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged after approval and CI checks. Adds an optional bases_config parameter to create_manifest() and relocates it to a dedicated module to prevent import loops. Runtime retains legacy behavior while new tests prepare for future bases implementation. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Relocated create_manifest() to a dedicated module to prevent import loops and added an optional bases_config parameter for future runtime usage. Includes test coverage for the new configuration path. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Moved create_manifest() to a new module to prevent import loops and added an optional bases_config parameter for future bases support. Tests were added, but runtime still uses the legacy configuration. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #390 build/pack: add support for bases in managed mode (CRAFT-131) | charmcraft | merged | Merged changes adding bases support for managed mode in build/pack. Introduces a bases module, extends configuration validation with warnings, and updates run() to return built charms. Approved by two reviewers and merged. | |
| #3836 snapcraft/meta: make Manifest.base optional | snapcraft | merged | Merged a fix making Manifest.base optional to resolve a validation error crashing manifest generation for core22 base snaps. Approved and merged after passing CI. Reviewers suggested adding a spread test for base building cases. |