-
Story
-
Resolution: Unresolved
-
Major
-
Pipelines 1.18.0
As a DevOps engineer, I want to be able to cancel a PipelineRun that is currently in progress to save computational resources and prevent unnecessary workload from running to completion.
Description
In managing continuous integration and deployment pipelines, there are situations where a PipelineRun needs to be stopped while in progress. This may be necessary to prevent a misconfigured or outdated run from consuming resources, or to free up capacity for higher-priority tasks. By enabling the cancellation of in-progress PipelineRuns, I can conserve resources and reduce system load, improving the efficiency of the pipeline environment.
Acceptance Criterai
1. *PipelineRun Annotation for Resource-Saving Cancellation*:
- A new annotation should be introduced in the PipelineRun definition:
```yaml
pipelinesascode.tekton.dev/cancel-in-progress: "true"
```
- When this annotation is applied, the current active PipelineRun will be canceled after it has successfully started, thereby halting resource consumption immediately.
2. *Scope of Cancellation*:
- This feature should apply only to PipelineRuns that are actively in progress.
- Completed or previously canceled PipelineRuns remain unaffected to avoid any unintended disruptions.
3. *Incompatibility with Concurrency Limits*:
- To ensure that resource management remains predictable, the `cancel-in-progress` annotation cannot be used in conjunction with concurrency limits, as outlined in repository configurations.
4. *Documentation and Examples for Efficient Resource Use*:
- Documentation should include examples to demonstrate how this feature can be used to cancel runs for resource conservation.