This adds a new --fail-fast flag to the src batch commands. When enabled, any errors encountered while executing steps in a repository will stop the execution of the whole batch spec. The flag is off by default, so existing behavior is preserved.
A new CancelableContext type was added to support cancellation with errors. The batch commands now wrap the context with this to enable fail-fast behavior.
Updated contextCancelOnInterrupt to support cancellation with error causes.
Added error check in executeBatchSpec to surface fail-fast cancellation errors.
Errors now propagate up by calling the cancel context's Cause()
Minor code reorganizations around log file handling to return logs if -fail-fast and -keep-logs are used together.
This adds a new
--fail-fast
flag to thesrc batch
commands. When enabled, any errors encountered while executing steps in a repository will stop the execution of the whole batch spec. The flag is off by default, so existing behavior is preserved.Cause()
Test plan
Updated tests.