diff --git a/pkg/platform/api/buildplanner/response/commit.go b/pkg/platform/api/buildplanner/response/commit.go index 74e4ec204c..303a632d65 100644 --- a/pkg/platform/api/buildplanner/response/commit.go +++ b/pkg/platform/api/buildplanner/response/commit.go @@ -13,7 +13,7 @@ import ( func ProcessBuildError(build *BuildResponse, fallbackMessage string) error { logging.Debug("ProcessBuildError: build.Type=%s", build.Type) if build.Type == types.PlanningErrorType { - return processPlanningError(build.Message, build.SubErrors) + return ProcessPlanningError(build.Message, build.SubErrors) } else if build.Error == nil { return errs.New(fallbackMessage) } @@ -21,7 +21,7 @@ func ProcessBuildError(build *BuildResponse, fallbackMessage string) error { return locale.NewInputError("err_buildplanner_build", "Encountered error processing build response") } -func processPlanningError(message string, subErrors []*BuildExprError) error { +func ProcessPlanningError(message string, subErrors []*BuildExprError) error { var errs []string var isTransient bool diff --git a/pkg/platform/model/buildplanner/evaluate.go b/pkg/platform/model/buildplanner/evaluate.go index f348ea51f1..254d43eaa1 100644 --- a/pkg/platform/model/buildplanner/evaluate.go +++ b/pkg/platform/model/buildplanner/evaluate.go @@ -11,6 +11,7 @@ import ( "github.com/ActiveState/cli/pkg/buildscript" "github.com/ActiveState/cli/pkg/platform/api/buildplanner/request" "github.com/ActiveState/cli/pkg/platform/api/buildplanner/response" + "github.com/ActiveState/cli/pkg/platform/api/buildplanner/types" ) func (bp *BuildPlanner) Evaluate(org, project string, script *buildscript.BuildScript) error { @@ -31,6 +32,12 @@ func (bp *BuildPlanner) Evaluate(org, project string, script *buildscript.BuildS if err != nil { return processBuildPlannerError(err, "Failed to evaluate build expression") } + if response.IsErrorResponse(resp.Type) { + if resp.Type == types.PlanningErrorType { + return response.ProcessPlanningError(resp.Message, resp.SubErrors) + } + return locale.NewError("err_buildplanner_evaluate", "Encountered error evaluating build plan: {{.V0}}", resp.Message) + } sessionId = resp.SessionID if resp.Status != raw.Planning && resp.Status != raw.Started { return nil