commit | f7dda364b9e8fa8e50ec59caf35f55fccb8b833c | [log] [tgz] |
---|---|---|
author | Joe Gregorio <jcgregorio@google.com> | Sat Mar 18 17:49:59 2023 -0400 |
committer | SkCQ <skcq-be@skia-corp.google.com.iam.gserviceaccount.com> | Sat Mar 18 22:01:23 2023 +0000 |
tree | 4543896f91e0858ffd3e97c8e0ac2ed8a164125c | |
parent | 753ffacc679994fb92f1f34a007910785bcfeafc [diff] |
[perf] Factor out the git/provider.Provider interface. This is an initial step in adding Gitiles support, as it factors out the only touchpoints with git, makes that into an interface (provider.Provider), and then moves all the git specific code into an implementation of that interface (providers/cli). A follow-on CL will implement providers.Provider for Gitiles. This also adds a provider selection to the config file format and updates all the existing configs to use 'git'. Finally this adds an optional StartCommit, as opposed to always starting from the initial commit to the repo, which would be prohibitive in a huge repo like Chrome. Bug: b/271555267 Change-Id: Ie8bb28656684532cf91b39e933d98890435b9b0c Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/651947 Commit-Queue: Joe Gregorio <jcgregorio@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com>
This repo contains infrastructure code for Skia.
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
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