@@ -99,18 +99,15 @@ func NewBuild(ctx context.Context, req *cliv1.CreateBuildRequest, token string)
9999 return Build {}, err
100100 }
101101
102- build , err := FromExistingBuild (ctx , res .Msg .BuildId , res .Msg .BuildToken )
102+ build , err := FromExistingBuild (ctx , res .Msg .BuildId , res .Msg .BuildToken , res )
103103 if err != nil {
104104 return Build {}, err
105105 }
106106
107- build .Response = res
108- build .BuildURL = res .Msg .BuildUrl
109-
110107 return build , nil
111108}
112109
113- func FromExistingBuild (ctx context.Context , buildID , token string ) (Build , error ) {
110+ func FromExistingBuild (ctx context.Context , buildID , token string , buildRes * connect. Response [cliv1. CreateBuildResponse ] ) (Build , error ) {
114111 client := depotapi .NewBuildClient ()
115112
116113 finish := func (buildErr error ) {
@@ -135,19 +132,29 @@ func FromExistingBuild(ctx context.Context, buildID, token string) (Build, error
135132 }
136133 }
137134
138- req := cliv1.GetBuildRequest {BuildId : buildID }
139- res , err := client .GetBuild (ctx , depotapi .WithAuthentication (connect .NewRequest (& req ), token ))
140- if err != nil {
141- return Build {}, err
135+ if buildRes == nil {
136+ req := cliv1.GetBuildRequest {BuildId : buildID }
137+ res , err := client .GetBuild (ctx , depotapi .WithAuthentication (connect .NewRequest (& req ), token ))
138+ if err != nil {
139+ return Build {}, err
140+ }
141+ return Build {
142+ ID : buildID ,
143+ Token : token ,
144+ Finish : finish ,
145+ BuildURL : res .Msg .BuildUrl ,
146+ projectID : res .Msg .ProjectId ,
147+ }, nil
148+ } else {
149+ return Build {
150+ ID : buildID ,
151+ Token : token ,
152+ Finish : finish ,
153+ BuildURL : buildRes .Msg .BuildUrl ,
154+ Response : buildRes ,
155+ }, nil
142156 }
143157
144- return Build {
145- ID : buildID ,
146- Token : token ,
147- Finish : finish ,
148- BuildURL : res .Msg .BuildUrl ,
149- projectID : res .Msg .ProjectId ,
150- }, nil
151158}
152159
153160type authProvider struct {
0 commit comments