A canceled build error isn't returned before the user build stages
Summary
Canceling a build before the user build stages returns the wrong error (usually a canceled context error on the task currently being performed).
Steps to reproduce
Cancel a job before the user build stage (such as Prepare)
Actual behavior
An error such as prepare environment: waiting for pod running: context canceled.
Expected behavior
A BuildError JobCanceled
error.