← Back to issue list

add "always run" plugin hook

View original Github issue

Metadata

Project
craft-parts
Number
#889
Type
issue
State
open
Author
flotter
Labels
Created
Updated
Closed

Current evaluation

Feature request for an optional 'always run' plugin hook so plugins can execute actions regardless of source changes (e.g. build-time GUID generation, craft YAML config propagation). Unlabelled, zero comments, no maintainer response in ~671 days; feature not implemented in current code.

Suggested action: needs triage

Reason: The issue has no labels, no assignee, and zero comments in 671 days, so it has never been assessed by a maintainer. It is not a candidate for close_stale because the requested capability is still absent from the codebase (no always-run hook in craft_parts/plugins/base.py, and the sequencer's dirty/outdated logic in sequencer.py still skips clean steps), so the request remains applicable rather than outdated. A maintainer needs to decide whether to scope this architectural change or decline it.

Impact: 50 Quick Win: 15.0 Staleness: 78 Complexity: 70 Confidence: 70 Support Request: 10

Issue body

### What needs to get done It would be amazing if the lifecycle manager and the plugin system can provide an optional hook for calling actions that always need to take place, irrespective if source changes occurs. It would then allow the plugin itself to decided if some work in this category is required to be repeated or not. ### Why it needs to get done Two cases: 1. Build time GUID generation to represent a build ID, needed to be part of metadata for a specific part/plugin. 2. Configuration changes at the craft YAML level which needs to propagate through to some parts / plugins. For example, Pebble services config included in the craft YAML could be modified, requiring the plugin re-extract the schema and update the rootfs derived config.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 50
Quick Win: 15.0
Staleness: 78
Complexity: 70
Confidence: 70
Support Request: 10
needs triage Feature request for an optional 'always run' plugin hook so plugins can execute actions regardless of source changes (e.g. build-time GUID generation, craft YAML config propagation). Unlabelled, zero comments, no maintainer response in ~671 days; feature not implemented in current code.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 60
Confidence: 70
Support Request: 10
needs triage Feature request to add an 'always run' plugin hook for lifecycle management, enabling actions like GUID generation and config propagation regardless of source changes. Currently unlabelled and inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 70
Confidence: 80
Support Request: 10
needs triage Feature request to add an always run plugin hook for lifecycle managers, enabling actions independent of source changes. Unlabelled, no maintainer response, inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 50
Confidence: 60
Support Request: 10
needs triage Requests an always-run plugin hook to execute actions regardless of source changes, supporting GUID generation and YAML config propagation. Open, inactive for over four months, awaiting triage and assignment.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.