diff --git a/pipeline_api/pipeline_api.go b/pipeline_api/pipeline_api.go index 6de05f0..02ef243 100644 --- a/pipeline_api/pipeline_api.go +++ b/pipeline_api/pipeline_api.go @@ -64,11 +64,13 @@ func (s *ApiServer) GetRunner( } var runnerTagsStr strings.Builder - fmt.Fprintf(&runnerTagsStr, "[%v", req.Msg.Tags[0]) - for _, tag := range req.Msg.Tags[1:] { - fmt.Fprintf(&runnerTagsStr, ", %v", tag) + if len(req.Msg.Tags) > 0 { + fmt.Fprintf(&runnerTagsStr, "[%v", req.Msg.Tags[0]) + for _, tag := range req.Msg.Tags[1:] { + fmt.Fprintf(&runnerTagsStr, ", %v", tag) + } + fmt.Fprintf(&runnerTagsStr, "]") } - fmt.Fprintf(&runnerTagsStr, "]") response := <-respChan if response.Err != nil { diff --git a/runnermanager/runnermanager.go b/runnermanager/runnermanager.go index 8a06f6b..9b4d9b3 100644 --- a/runnermanager/runnermanager.go +++ b/runnermanager/runnermanager.go @@ -52,11 +52,13 @@ type runnerJob struct { func (r *runnerManager) processRequest(req GetRunnerRequest) { var runnerTagsStr strings.Builder - fmt.Fprintf(&runnerTagsStr, "[%v", req.Tags[0]) - for _, tag := range req.Tags[1:] { - fmt.Fprintf(&runnerTagsStr, ", %v", tag) + if len(req.Tags) > 0 { + fmt.Fprintf(&runnerTagsStr, "[%v", req.Tags[0]) + for _, tag := range req.Tags[1:] { + fmt.Fprintf(&runnerTagsStr, ", %v", tag) + } + fmt.Fprintf(&runnerTagsStr, "]") } - fmt.Fprintf(&runnerTagsStr, "]") log.Infof("Got request for runner with tags \"%v\"", runnerTagsStr.String()) log.Debugf("Finding runner with tags %v", runnerTagsStr.String())