do actually does the work of running the job
(ctx context.Context)
| 421 | |
| 422 | // do actually does the work of running the job |
| 423 | func (r *Runner) do(ctx context.Context) (*proto.CompletedJob, *proto.FailedJob) { |
| 424 | ctx, span := r.startTrace(ctx, tracing.FuncName()) |
| 425 | defer span.End() |
| 426 | |
| 427 | r.queueLog(ctx, &proto.Log{ |
| 428 | Source: proto.LogSource_PROVISIONER_DAEMON, |
| 429 | Level: sdkproto.LogLevel_INFO, |
| 430 | Stage: "Setting up", |
| 431 | CreatedAt: time.Now().UnixMilli(), |
| 432 | }) |
| 433 | |
| 434 | switch jobType := r.job.Type.(type) { |
| 435 | case *proto.AcquiredJob_TemplateImport_: |
| 436 | r.logger.Debug(context.Background(), "acquired job is template import", |
| 437 | slog.F("user_variable_values", redactVariableValues(jobType.TemplateImport.UserVariableValues)), |
| 438 | ) |
| 439 | |
| 440 | return r.runTemplateImport(ctx) |
| 441 | case *proto.AcquiredJob_TemplateDryRun_: |
| 442 | r.logger.Debug(context.Background(), "acquired job is template dry-run", |
| 443 | slog.F("workspace_name", jobType.TemplateDryRun.Metadata.WorkspaceName), |
| 444 | slog.F("rich_parameter_values", jobType.TemplateDryRun.RichParameterValues), |
| 445 | slog.F("variable_values", redactVariableValues(jobType.TemplateDryRun.VariableValues)), |
| 446 | ) |
| 447 | return r.runTemplateDryRun(ctx) |
| 448 | case *proto.AcquiredJob_WorkspaceBuild_: |
| 449 | r.logger.Debug(context.Background(), "acquired job is workspace provision", |
| 450 | slog.F("workspace_name", jobType.WorkspaceBuild.WorkspaceName), |
| 451 | slog.F("state_length", len(jobType.WorkspaceBuild.State)), |
| 452 | slog.F("rich_parameter_values", jobType.WorkspaceBuild.RichParameterValues), |
| 453 | slog.F("variable_values", redactVariableValues(jobType.WorkspaceBuild.VariableValues)), |
| 454 | ) |
| 455 | return r.runWorkspaceBuild(ctx) |
| 456 | default: |
| 457 | return nil, r.failedJobf("unknown job type %q; ensure your provisioner daemon is up-to-date", |
| 458 | reflect.TypeOf(r.job.Type).String()) |
| 459 | } |
| 460 | } |
| 461 | |
| 462 | func (r *Runner) configure(config *sdkproto.Config) *proto.FailedJob { |
| 463 | err := r.session.Send(&sdkproto.Request{Type: &sdkproto.Request_Config{Config: config}}) |
no test coverage detected