@@ -147,12 +147,12 @@ func (r *CleanupRunner) Run(ctx context.Context, _ string, logs io.Writer) error
147147if err == nil && build .Job .Status .Active () {
148148// mark the build as canceled
149149logger .Info (ctx ,"canceling workspace build" ,slog .F ("build_id" ,build .ID ),slog .F ("workspace_id" ,r .workspaceID ))
150- if err = r .client .CancelWorkspaceBuild (ctx ,build .ID , codersdk.CancelWorkspaceBuildParams {});err == nil {
151- // Wait for the job to cancel before we delete it
152- _ = waitForBuild (ctx ,logs ,r .client ,build .ID )// it will return a "build canceled" error
153- }else {
154- logger .Warn (ctx ,"failed to cancel workspace build, attempting to delete anyway" ,slog .Error (err ))
150+ if err = r .client .CancelWorkspaceBuild (ctx ,build .ID , codersdk.CancelWorkspaceBuildParams {});err != nil {
151+ logger .Warn (ctx ,"failed to cancel workspace build" ,slog .Error (err ))
155152}
153+ // Wait for either the build or the cancellation to finish
154+ // either is necessary or we'll fail at the delete step.
155+ _ = waitForBuild (ctx ,logs ,r .client ,build .ID )// it will return a "build canceled" error
156156}else {
157157logger .Warn (ctx ,"unable to lookup latest workspace build, attempting to delete anyway" ,slog .Error (err ))
158158}