← Back to issue list

manifest: add bases support to create_manifest() (CRAFT-63)

View original Github issue

Metadata

Project
charmcraft
Number
#384
Type
pull request
State
merged
Author
cjp256
Labels
Created
Updated
Closed

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