tools/cts: Rekick cancelled or infra-failed builds
For commands like `cts update`, `cts export`: If a build completed with `StatusInfraFailure` or `StatusCanceled` and we're trying to obtain the results, re-kick the build. Bug: dawn:1342 Change-Id: I84565b06eb70e92f3b75a0ab2befd7ed83315140 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/92940 Auto-Submit: Ben Clayton <bclayton@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: Austin Eng <enga@chromium.org>
This commit is contained in:
parent
d574be5750
commit
37b1f0fb5a
|
@ -137,9 +137,20 @@ func GetOrStartBuildsAndWait(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Returns true if the build should be re-kicked
|
||||||
|
shouldKick := func(build buildbucket.Build) bool {
|
||||||
|
switch build.Status {
|
||||||
|
case buildbucket.StatusUnknown,
|
||||||
|
buildbucket.StatusInfraFailure,
|
||||||
|
buildbucket.StatusCanceled:
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// Kick any missing builds
|
// Kick any missing builds
|
||||||
for name, builder := range cfg.Builders {
|
for name, builder := range cfg.Builders {
|
||||||
if _, existing := builds[name]; !existing {
|
if build, found := builds[name]; !found || shouldKick(build) {
|
||||||
build, err := bb.StartBuild(ctx, ps, builder, retest)
|
build, err := bb.StartBuild(ctx, ps, builder, retest)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
Loading…
Reference in New Issue