func()

in commands/single.go [67:107]


func (r *RunSingleCommand) processBuild(data common.ExecutorData, abortSignal chan os.Signal) (err error) {
	jobData, healthy := r.network.RequestJob(r.RunnerConfig)
	if !healthy {
		log.Println("Runner is not healthy!")
		select {
		case <-time.After(common.NotHealthyCheckInterval * time.Second):
		case <-abortSignal:
		}
		return
	}

	if jobData == nil {
		select {
		case <-time.After(common.CheckInterval):
		case <-abortSignal:
		}
		return
	}

	config := common.NewConfig()

	newBuild := common.Build{
		JobResponse:     *jobData,
		Runner:          &r.RunnerConfig,
		SystemInterrupt: abortSignal,
		ExecutorData:    data,
	}

	jobCredentials := &common.JobCredentials{
		ID:    jobData.ID,
		Token: jobData.Token,
	}
	trace := r.network.ProcessJob(r.RunnerConfig, jobCredentials)
	defer trace.Fail(err)

	err = newBuild.Run(config, trace)

	r.postBuild()

	return
}