Skip to content

Commit b59960f

Browse files
committed
feat: Add support for 'skipped' status
1 parent 8310f90 commit b59960f

File tree

3 files changed

+21
-9
lines changed

3 files changed

+21
-9
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,6 @@
44
/charts/batchv1-chart/*
55
!/charts/batchv1-chart/Makefile
66
!/charts/batchv1-chart/values.override.yaml
7-
!/charts/batchv1-chart/README.md.gotmpl
7+
!/charts/batchv1-chart/README.md.gotmpl
8+
.idea
9+

pkgs/contract/pipeline.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ import (
44
"crypto/sha256"
55
"encoding/hex"
66
"fmt"
7-
"github.com/pkg/errors"
8-
"k8s.io/apimachinery/pkg/labels"
97
"net/url"
108
"strings"
119
"time"
10+
11+
"github.com/pkg/errors"
12+
"k8s.io/apimachinery/pkg/labels"
1213
)
1314

1415
type ConfigurationData interface {
@@ -23,7 +24,6 @@ type PipelineInfo struct {
2324
instanceName string
2425
namespace string
2526
dateStarted time.Time
26-
status Status
2727
stages []PipelineStage
2828
dashboardUrl string
2929
retrievalNum int
@@ -204,6 +204,7 @@ const (
204204
PipelineErrored Status = "errored"
205205
PipelineSucceeded Status = "succeeded"
206206
PipelineCancelled Status = "cancelled"
207+
PipelineSkipped Status = "skipped"
207208
)
208209

209210
func (s Status) IsFinished() bool {
@@ -214,6 +215,10 @@ func (s Status) IsRunning() bool {
214215
return s == PipelineRunning
215216
}
216217

218+
func (s Status) IsSkipped() bool {
219+
return s == PipelineSkipped
220+
}
221+
217222
func (s Status) IsErroredOrFailed() bool {
218223
return s == PipelineFailed || s == PipelineErrored
219224
}
@@ -233,8 +238,10 @@ func (s Status) IsNotStarted() bool {
233238
func (s Status) AsHumanReadableDescription() string {
234239
if s == PipelineRunning || s == PipelinePending {
235240
return "is " + string(s)
236-
} else if s == PipelineFailed || s == PipelineErrored || s == PipelineSucceeded || s == PipelineCancelled {
241+
} else if s == PipelineFailed || s == PipelineErrored || s == PipelineSucceeded {
237242
return string(s)
243+
} else if s == PipelineSkipped || s == PipelineCancelled {
244+
return "was " + string(s)
238245
}
239246
return "is in unknown state"
240247
}

pkgs/feedback/jxscm/receiver.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ package jxscm
33
import (
44
"context"
55
"fmt"
6+
"strconv"
7+
"strings"
8+
69
"github.com/jenkins-x/go-scm/scm"
710
"github.com/kube-cicd/pipelines-feedback-core/internal/feedback/jxscm"
811
"github.com/kube-cicd/pipelines-feedback-core/pkgs/config"
@@ -11,8 +14,6 @@ import (
1114
"github.com/kube-cicd/pipelines-feedback-core/pkgs/logging"
1215
"github.com/kube-cicd/pipelines-feedback-core/pkgs/templating"
1316
"github.com/pkg/errors"
14-
"strconv"
15-
"strings"
1617
)
1718

1819
const defaultProgressComment = `
@@ -218,7 +219,7 @@ func (jx *Receiver) UpdateProgress(ctx context.Context, pipeline contract.Pipeli
218219

219220
scmCtx := pipeline.GetSCMContext()
220221
ourStatus := pipeline.GetStatus()
221-
overallStatus := jx.translateStatus(ourStatus, cfg)
222+
overallStatus := jx.translateStatus(ourStatus)
222223

223224
// Update status in PR/MR comment
224225
var prCommentStatusErr error = nil
@@ -280,7 +281,7 @@ func (jx *Receiver) updateCommitStatus(ctx context.Context, cfg config.Data, cli
280281
return commitStatusErr
281282
}
282283

283-
func (jx *Receiver) translateStatus(status contract.Status, cfg config.Data) scm.State {
284+
func (jx *Receiver) translateStatus(status contract.Status) scm.State {
284285
switch status {
285286
case contract.PipelineRunning:
286287
return scm.StateRunning
@@ -290,6 +291,8 @@ func (jx *Receiver) translateStatus(status contract.Status, cfg config.Data) scm
290291
return scm.StateSuccess
291292
case contract.PipelineErrored:
292293
return scm.StateError
294+
case contract.PipelineSkipped:
295+
return scm.StateCanceled
293296
case contract.PipelineFailed:
294297
return scm.StateFailure
295298
default:

0 commit comments

Comments
 (0)