← Back to issue list

plugins: check if plugin properties are dirty

View original Github issue

Metadata

Project
craft-parts
Number
#372
Type
pull request
State
merged
Author
cmatsuoka
Labels
Created
Updated
Closed

Current evaluation

Merged after approval and CI. Implements dirty-checking for plugin properties to optimize pull and build steps. Adds property state tracking, maintains API compatibility, and allows plugin-specific overrides.

Suggested action:

No scores available.

Issue body

Add plugin properties to the part state and allow the plugin to list properties to be used to verify if the pull or build steps are dirty. This implementation ensures compatibility with the current plugin API and doesn't require changes in existing plugins. By default, all plugin properties will be verified against the previous build step state. This can be overridden by each plugin if needed. The implementation is also designed to work with strict plugins where plugin properties changes may require a repull. In this case, each plugin must return the list of properties relevant to the pull step according to the offline build mode. Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com> - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? ----- CRAFT-1591

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged after approval and CI. Implements dirty-checking for plugin properties to optimize pull and build steps. Adds property state tracking, maintains API compatibility, and allows plugin-specific overrides.
qwen3.6-35b-a3b-mtp-q6 Merged. Implements plugin property tracking to detect dirty pull or build steps. Defaults to checking all properties for API compatibility, while allowing plugins to override checks or enforce repulls on property changes. Resolves CRAFT-1591.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#71 plugins: check presence of required part properties (CRAFT-74) craft-parts merged Merged after two approvals and passing CI. Replaces manual verification of required plugin properties, such as source, with Pydantic validation. Updated nine files (+78/-25 lines) to enforce property requirements during plugin configuration.
72%