← Back to issue list

Add the ability for plugins to mark their build step as clean or dirty

View original Github issue

Metadata

Project
craft-parts
Number
#1315
Type
issue
State
open
Author
lengau
Labels
Status: Triaged Type: Enhancement
Created
Updated
Closed

Current evaluation

Enhancement to add a Plugin method (build_is_dirty or an ActionType request) so plugins can mark their build step clean/dirty and trigger an update instead of a skip. Triaged, unimplemented, design question to cmatsuoka unanswered.

Suggested action: keep open

Reason: The issue is explicitly triaged (Status: Triaged, Type: Enhancement labels) and filed by a maintainer, with an internal ticket CRAFT-4774 created and a design question posed to @cmatsuoka about returning an ActionType instead of a bool. Code inspection confirms build_is_dirty does not exist in the Plugin base class and no commit implements it, so the feature is still missing and the request remains applicable; it should stay open until the API design question is resolved.

Impact: 35 Quick Win: 15.75 Staleness: 68 Complexity: 55 Confidence: 82 Support Request: 0

Issue body

### What needs to get done Add a `Plugin` method something like this: ```python def build_is_dirty(self) -> bool | None: """Check whether the build is dirty. :returns: True if the plugin knows the build is dirty, False if it knows it's clean, or None if unknown. """ return None ``` ### Why it needs to get done We got a request to be able to do an update rather than a skip. Question for @cmatsuoka - Do we possibly make this something that returns the requested ActionType instead? Still defaults to None, but if the plugin knows what ActionType it wants for the build step it can request that.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 35
Quick Win: 15.75
Staleness: 68
Complexity: 55
Confidence: 82
Support Request: 0
keep open Enhancement to add a Plugin method (build_is_dirty or an ActionType request) so plugins can mark their build step clean/dirty and trigger an update instead of a skip. Triaged, unimplemented, design question to cmatsuoka unanswered.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 65
Confidence: 85
Support Request: 10
close stale Enhancement to allow plugins to report build step state as clean, dirty, or unknown. Triaged but inactive for nearly a year with no implementation progress or resolution.
qwen3.6-35b-a3b-mtp-q6
Staleness: 75
Complexity: 45
Confidence: 65
Support Request: 10
keep open Enhancement to add a plugin method for marking build steps as clean or dirty, allowing updates instead of skips. Triaged by maintainer but inactive for ~9.5 months with no implementation progress.
qwen3.6-35b-a3b-mtp-q6
Staleness: 75
Complexity: 20
Confidence: 80
Support Request: 10
close stale Proposes a build_is_dirty plugin method to report build step status as clean, dirty, or unknown, enabling update actions instead of skips. Triaged as an enhancement. Inactive for 275 days, awaiting further discussion or assignment.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.