in executors/kubernetes/executor_kubernetes.go [125:158]
func (s *executor) Run(cmd common.ExecutorCommand) error {
s.Debugln("Starting Kubernetes command...")
if s.pod == nil {
err := s.setupCredentials()
if err != nil {
return err
}
err = s.setupBuildPod()
if err != nil {
return err
}
}
containerName := "build"
if cmd.Predefined {
containerName = "helper"
}
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
select {
case err := <-s.runInContainer(ctx, containerName, cmd.Script):
if err != nil && strings.Contains(err.Error(), "executing in Docker Container") {
return &common.BuildError{Inner: err}
}
return err
case <-cmd.Context.Done():
return fmt.Errorf("build aborted")
}
}