Set explicit FailureReason on BuildError constructions across executors
What does this MR do?
Set explicit FailureReason on BuildError constructions across executors
- Set ConfigurationError on user/admin configuration errors: builds_dir/cache_dir not set, GIT_CLONE_PATH violations, CI/CD input expansion failures, custom executor missing config/RunExec, Docker invalid service name / invalid log config / malformed volume config, Kubernetes InvalidImageName
- Set ScriptFailure on all executor script exit-code paths (shell, ssh, parallels, virtualbox, docker-wait, k8s exec/attach, custom command) to make intent explicit rather than relying on the catch-all mapper
- Set RunnerSystemFailure on docker missing-volume-parser nil check (was falling through to ScriptFailure via empty FailureReason)
- Fix pull/manager.go registry auth encoding error from ImagePullFailure to RunnerSystemFailure (unreachable internal path, not an image pull failure)
This changes are based on the investigation on the spreadsheet
Why was this MR needed?
What's the best way to test this MR?
What are the relevant issue numbers?
Edited by Taka Nishida