Wrap plain errors in some executors' Prepare() with BuildError

What does this MR do?

Wrap plain errors in some executors' Prepare() with BuildError

Wrap deterministic config-validation failures in docker, ssh, instance, and autoscaler executors' Prepare() paths as *BuildError{ConfigurationError} instead of letting them fall through to runner_system_failure.

Sites wrapped:

  • docker: missing docker config, PassFile check, script incompatible
  • ssh: PassFile check, missing SSH config
  • instance: PassFile check
  • autoscaler: cloud plugin missing suspend/resume capability

Follows the same pattern as the Kubernetes Prepare() wrap (!6881 (merged)).

Why was this MR needed?

For better failure-reason attribution and improve SLI.

What's the best way to test this MR?

What are the relevant issue numbers?

Edited by Taka Nishida

Merge request reports

Loading