← 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

Requests an optional plugin hook that runs even when sources are unchanged, supporting build IDs and propagation of craft.yaml configuration; it remains untriaged.

Suggested action: needs triage

Reason: The issue has no labels, maintainer comments, or other triage evidence. The current Plugin API has no always-run hook, while recent generic execution prologue/epilogue callbacks may partially overlap; maintainers must decide whether those callbacks satisfy the requested plugin-specific semantics.

Evaluated by: mr-cal-bot

Impact: 58 Quick Win: 10 Complexity: 70 Confidence: 86 Actionability: 57

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
stealth/space-bunny-alpha
Impact: 58
Quick Win: 10
Complexity: 70
Confidence: 86
Actionability: 57
needs triage Requests an optional plugin hook that runs even when sources are unchanged, supporting build IDs and propagation of craft.yaml configuration; it remains untriaged.
stealth/space-bunny-alpha
Impact: 52
Quick Win: 13
Complexity: 60
Confidence: 88
Actionability: 62
needs triage Requests an optional plugin hook that runs regardless of source-change detection, enabling build-ID generation and project-level YAML configuration propagation; remains untriaged.
qwen/qwen3.6-35b-a3b
Impact: 35
Quick Win: 11
Complexity: 50
Confidence: 75
Actionability: 65
needs triage Feature request to add an 'always run' plugin hook for the lifecycle manager to execute actions regardless of source changes
qwen/qwen3.8-27b
Impact: 50
Quick Win: 15
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.

Update history

No update history recorded yet.

Related work

  • Related To: craft-parts#1441 (confidence 68%)

    A recent feature implemented mid-step execution callbacks, including global prologue and epilogue hooks, but no evidence establishes that they fulfill this request.

Related issues

No related issues found above the similarity threshold.