diff --git a/workflow/artifacts/s3/s3.go b/workflow/artifacts/s3/s3.go index 852551e80232..a70a6f4ba7d8 100644 --- a/workflow/artifacts/s3/s3.go +++ b/workflow/artifacts/s3/s3.go @@ -188,19 +188,20 @@ func (s3Driver *ArtifactDriver) Delete(artifact *wfv1.Artifact) error { if !isDir { return s3cli.Delete(artifact.S3.Bucket, artifact.S3.Key) - } else { - keys, err := s3cli.ListDirectory(artifact.S3.Bucket, artifact.S3.Key) + } + + keys, err := s3cli.ListDirectory(artifact.S3.Bucket, artifact.S3.Key) + if err != nil { + return fmt.Errorf("unable to list files in %s: %s", artifact.S3.Key, err) + } + for _, objKey := range keys { + err = s3cli.Delete(artifact.S3.Bucket, objKey) if err != nil { - return fmt.Errorf("unable to list files in %s: %s", artifact.S3.Key, err) - } - for _, objKey := range keys { - err = s3cli.Delete(artifact.S3.Bucket, objKey) - if err != nil { - return err - } + return err } } - return nil + } + return nil }) return err