buildctl: Provide --wait-for-ready option
Added --wait-for-ready timeout
to buildctl's global options. See below
for behavior.
Implemented a WithWaitForReady
client option method that blocks remote
calls should the connection ever enter a transient failure state and
waits up to the given duration until a connection is ready again before
retrying the call. Note that if data has been written to the connection,
retries are not attempted. See grpc.WaitForReady
documentation for
details.
Also note this option only applies to unary calls other than Solve
as
the timeout is applied to the context of the call and the latter is too
likely to exceed a given timeout.