feat: propagate job error codes (#6507)

* feat: propagate job error_code

* fix

* Fix

* Fix

* Fix

* add errors to typesGenerated

* Address PR comments

* Fix
This commit is contained in:
Marcin Tojek
2023-03-08 16:32:00 +01:00
committed by GitHub
parent 524b14adbc
commit 3b87316ad7
25 changed files with 406 additions and 234 deletions
+15 -1
View File
@@ -41,6 +41,17 @@ type ProvisionerJobOptions struct {
Silent bool
}
type ProvisionerJobError struct {
Message string
Code codersdk.JobErrorCode
}
var _ error = new(ProvisionerJobError)
func (err *ProvisionerJobError) Error() string {
return err.Message
}
// ProvisionerJob renders a provisioner job with interactive cancellation.
func ProvisionerJob(ctx context.Context, writer io.Writer, opts ProvisionerJobOptions) error {
if opts.FetchInterval == 0 {
@@ -181,7 +192,10 @@ func ProvisionerJob(ctx context.Context, writer io.Writer, opts ProvisionerJobOp
return nil
case codersdk.ProvisionerJobFailed:
}
err = xerrors.New(job.Error)
err = &ProvisionerJobError{
Message: job.Error,
Code: job.ErrorCode,
}
jobMutex.Unlock()
flushLogBuffer()
return err