Skip to content

Commit b1361cd

Browse files
mihaichiticalexo-bunnyshell
authored andcommitted
[ND-7649] - fix pipeline monitor when staus is aborted
1 parent 950e93d commit b1361cd

5 files changed

Lines changed: 33 additions & 31 deletions

File tree

pkg/api/pipeline/status/status.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package status
2+
3+
// Workflow status values.
4+
const (
5+
WorkflowQueued = "queued"
6+
WorkflowThrottled = "throttled"
7+
WorkflowInProgress = "in_progress"
8+
WorkflowSuccess = "success"
9+
10+
WorkflowFailing = "failing"
11+
WorkflowFailed = "failed"
12+
13+
WorkflowAborting = "aborting"
14+
WorkflowAborted = "aborted"
15+
)

pkg/api/workflow_job/status/status.go

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,10 @@
11
package status
22

3-
// Workflow status values.
4-
const (
5-
WorkflowQueued = "queued"
6-
WorkflowThrottled = "throttled"
7-
WorkflowInProgress = "in_progress"
8-
WorkflowSuccess = "success"
9-
10-
WorkflowFailing = "failing"
11-
WorkflowFailed = "failed"
12-
13-
WorkflowAborting = "aborting"
14-
WorkflowAborted = "aborted"
15-
)
16-
173
// Job status values.
184
const (
19-
JobPending = "pending"
20-
JobQueued = "queued"
21-
JobInProgress = "in_progress"
5+
JobPending = "pending"
6+
JobQueued = "queued"
7+
JobInProgress = "in_progress"
228

239
JobFailed = "failed"
2410
JobAbortFailed = "abort_failed"

pkg/formatter/stylish.workflow_job_logs.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func statusIcon(status string) string {
2626
case wfstatus.JobFailed, wfstatus.JobAbortFailed: // JobFailed same value as StepFailed
2727
return color.New(color.FgRed).Sprint("✘")
2828
case wfstatus.JobAborting, wfstatus.JobAborted:
29-
return color.New(color.FgRed).Sprint("⊘")
29+
return color.New(color.FgRed, color.Bold).Sprint("⊘")
3030
case wfstatus.JobInProgress:
3131
return color.New(color.FgCyan).Sprint("▶︎")
3232
case wfstatus.JobPending, wfstatus.JobQueued:

pkg/progress/progress.pipeline.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55
"time"
66

7+
pstatus "bunnyshell.com/cli/pkg/api/pipeline/status"
78
"bunnyshell.com/sdk"
89
"github.com/briandowns/spinner"
910
)
@@ -73,12 +74,14 @@ func (p *Progress) UpdatePipeline(workflow *sdk.WorkflowItem) (bool, error) {
7374
)
7475

7576
switch workflow.GetStatus() {
76-
case StatusInProgress, StatusPending:
77+
case pstatus.WorkflowInProgress, pstatus.WorkflowAborting, pstatus.WorkflowFailing, pstatus.WorkflowThrottled, pstatus.WorkflowQueued:
7778
return true, nil
78-
case StatusSuccess:
79+
case pstatus.WorkflowSuccess:
7980
return false, nil
80-
case StatusFailed:
81+
case pstatus.WorkflowFailed:
8182
return false, ErrPipeline
83+
case pstatus.WorkflowAborted:
84+
return false, ErrPipelineAborted
8285
default:
8386
return false, fmt.Errorf("%w: unknown status %s", ErrPipeline, workflow.GetStatus())
8487
}
@@ -94,12 +97,14 @@ func (p *Progress) Stop() {
9497

9598
func (p *Progress) getState(status string) PipelineStatus {
9699
switch status {
97-
case StatusSuccess:
100+
case pstatus.WorkflowSuccess:
98101
return PipelineFinished
99-
case StatusInProgress, StatusPending:
102+
case pstatus.WorkflowInProgress, pstatus.WorkflowAborting, pstatus.WorkflowFailing, pstatus.WorkflowThrottled, pstatus.WorkflowQueued:
100103
return PipelineWorking
101-
case StatusFailed:
104+
case pstatus.WorkflowFailed:
102105
return PipelineFailed
106+
case pstatus.WorkflowAborted:
107+
return PipelineAborted
103108
}
104109

105110
return PipelineUnknownState

pkg/progress/vars.go

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,10 @@ const (
2424
PipelineWorking PipelineStatus = iota
2525
PipelineFinished
2626
PipelineFailed
27+
PipelineAborted
2728
PipelineUnknownState
2829
)
2930

30-
const (
31-
StatusSuccess = "success"
32-
StatusFailed = "failed"
33-
StatusInProgress = "in_progress"
34-
StatusPending = "pending"
35-
)
36-
3731
const (
3832
defaultSpinnerUpdate = 2000 * time.Millisecond
3933
defaultProgressSet = 69 // ∙∙●
@@ -43,7 +37,9 @@ var statusMap = map[PipelineStatus]string{
4337
PipelineWorking: color.New(color.FgCyan).Sprintf("»"),
4438
PipelineFinished: color.New(color.FgGreen).Sprintf("✔"),
4539
PipelineFailed: color.New(color.FgRed).Sprintf("✘"),
40+
PipelineAborted: color.New(color.FgRed, color.Bold).Sprintf("⊘"),
4641
PipelineUnknownState: color.New(color.FgYellow).Sprintf("?"),
4742
}
4843

4944
var ErrPipeline = errors.New("pipeline has encountered an error")
45+
var ErrPipelineAborted = errors.New("pipeline was aborted")

0 commit comments

Comments
 (0)