Skip to content

Commit

Permalink
log pipeline errors when they occur (#341)
Browse files Browse the repository at this point in the history
  • Loading branch information
djeebus authored Feb 24, 2025
1 parent 7c498bb commit 8a8ebbe
Showing 1 changed file with 27 additions and 30 deletions.
57 changes: 27 additions & 30 deletions pkg/vcs/gitlab_client/pipeline.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,51 +7,48 @@ import (
"github.com/zapier/kubechecks/pkg"
)

func (c *Client) GetPipelinesForCommit(projectName string, commitSHA string) ([]*gitlab.PipelineInfo, error) {
func (c *Client) GetLastPipelinesForCommit(projectName string, commitSHA string) *gitlab.PipelineInfo {
pipelines, _, err := c.c.Pipelines.ListProjectPipelines(projectName, &gitlab.ListProjectPipelinesOptions{
SHA: pkg.Pointer(commitSHA),
})
if err != nil {
log.Error().Err(err).Msg("gitlab client: could not get pipelines for commit")
return pipelines, err
log.Error().Err(err).Msg("gitlab client: could not get last pipeline for commit")
return nil
}

return pipelines, nil
log.Debug().Int("pipline_count", len(pipelines)).Msg("gitlab client: retrieve pipelines for commit")

}

func (c *Client) GetLastPipelinesForCommit(projectName string, commitSHA string) *gitlab.PipelineInfo {
pipelines, err := c.GetPipelinesForCommit(projectName, commitSHA)
if err != nil {
return nil
for _, p := range pipelines {
log.Debug().
Int("pipeline_id", p.ID).
Str("source", p.Source).
Msg("gitlab client: pipeline details")
}

if len(pipelines) > 0 {
// check for merge_requests_event
for _, p := range pipelines {
if p.Source == "merge_request_event" {
return p
}
// check for merge_requests_event
for _, p := range pipelines {
if p.Source == "merge_request_event" {
return p
}
}

// check for external_pull_request_events next
for _, p := range pipelines {
if p.Source == "pipeline" {
return p
}
// check for external_pull_request_events next
for _, p := range pipelines {
if p.Source == "pipeline" {
return p
}
}

// check for external_pull_request_events next
for _, p := range pipelines {
if p.Source == "external_pull_request_event" {
return p
}
// check for external_pull_request_events next
for _, p := range pipelines {
if p.Source == "external_pull_request_event" {
return p
}
}

for _, p := range pipelines {
if p.Source == "external" {
return p
}
for _, p := range pipelines {
if p.Source == "external" {
return p
}
}

Expand Down

0 comments on commit 8a8ebbe

Please sign in to comment.