| commit | b7852bfff14e3ddeca73f3464d61a3892ecac9f2 | [log] [tgz] |
|---|---|---|
| author | Ashwin Verleker <ashwinpv@google.com> | Thu Mar 07 20:08:49 2024 +0000 |
| committer | SkCQ <skcq-be@skia-corp.google.com.iam.gserviceaccount.com> | Thu Mar 07 20:23:57 2024 +0000 |
| tree | 0db00f945968ae6234b2f58e87e9fab8c9ce709a | |
| parent | 9c7d86e211b496b3a24708116cdee7379a4eafd9 [diff] |
Regression detection query optimization round 2 - In https://skia-review.googlesource.com/c/buildbot/+/817735 we separated out the event driven from continous mode. Also a change was made to update the query of the alert config to search only for the incoming trace and not the entire query in the config, when the config was running in Individual mode. - Considering there are a lot more traces coming in an ingestion event as compared to possibly matched configs, it will involve less db queries if we simply merge the queries for multiple traces into the commonly matched config. - There is still a slim chance that a lot of traces match a single alert config and the query can become long, but that should be acceptable since it will be a subset of the original query in the config so should be faster than running the entire original query. - This change also reduces the time complexity of the query hits from O(num_configs*no_traces) to O(num_configs). Bug: b/326128508 Change-Id: Ie84631123c29439373e9fc502d46e213fed11fa5 Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/821645 Reviewed-by: Joe Gregorio <jcgregorio@google.com> Commit-Queue: Ashwin Verleker <ashwinpv@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