[chromeperf] fix when findTopAnomalies requires more than the group has
Fixing errors in production like:
panic: runtime error: index out of range [2] with length 2
goroutine 62 [running]:
go.skia.org/infra/perf/go/anomalygroup/service.(*anomalygroupService).FindTopAnomalies(0xc000d85e90, {0x16e5d90, 0xc000c4e600}, 0xc00098a840)
perf/go/anomalygroup/service/service.go:187 +0xd37
go.skia.org/infra/perf/go/anomalygroup/proto/v1._AnomalyGroupService_FindTopAnomalies_Handler.func1({0x16e5d90, 0xc000c4e600}, {0x13a8de0?, 0xc00098a840})
perf/go/anomalygroup/proto/v1/anomalygroup_service_grpc.pb.go:235 +0x72
go.skia.org/infra/perf/go/backend.(*Backend).initialize.(*ServerPolicy).UnaryInterceptor.func1({0x16e5d90, 0xc000c4e600}, {0x13a8de0, 0xc00098a840}, 0xc000a00420, 0xc000992c78)
go/grpcsp/authorization.go:133 +0x277
Bug: b/357619045
Change-Id: I8f1c675efec17f660f705a714048a9304ca3ed4e
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/892886
Reviewed-by: Ashwin Verleker <ashwinpv@google.com>
Commit-Queue: Wenbin Zhang <wenbinzhang@google.com>
This repo contains infrastructure code for Skia.
The infrastructure code is generally built to run on x86 linux. Running on other platforms may be possible but is not officially supported and success will vary depending on the command.
The main source code repository is a Git repository hosted at https://skia.googlesource.com/buildbot.git. It is possible to check out this repository directly with git clone or via go get.
Using git clone allows you to work in whatever directory you want. You will still need to set GOPATH in order to build some apps (recommended to put this in a cache dir). E.g.:
$ cd ${WORKDIR}
$ git clone https://skia.googlesource.com/buildbot.git
$ export GOPATH=${HOME}/.cache/gopath/$(basename ${WORKDIR})
$ mkdir $GOPATH
$ cd buildbot
Almost all applications are built with Bazel, and bazelisk is the recommended tool to ensure you have the right version of bazel installed:
go install github.com/bazelbuild/bazelisk@latest go install github.com/bazelbuild/buildtools/buildifier@latest go install github.com/kisielk/errcheck@latest go install golang.org/x/tools/cmd/goimports@latest go install github.com/mikefarah/yq/v4@latest go install go.chromium.org/luci/client/cmd/...@latest
export PATH=$PATH:$(go env GOPATH)/bin
sudo apt-get install jq
bazelisk build --config=mayberemote //...
bazelisk test --config=mayberemote //...
To update generated code run the following in any directory:
go generate ./...
Install Cloud SDK.
Use this command to run the presubmit tests:
./run_unittests --small