commit | 29780fbab8bca05da846fca47957fb1d53b8e78c | [log] [tgz] |
---|---|---|
author | seanmccullough <seanmccullough@google.com> | Wed Aug 23 16:05:10 2023 -0700 |
committer | SkCQ <skcq-be@skia-corp.google.com.iam.gserviceaccount.com> | Fri Aug 25 20:27:03 2023 +0000 |
tree | 87dcff17ae40eb510f95fe3f78c780cf9c8fdc47 | |
parent | 560e4c0c924ede0f7ed8e6d935b11693f1bc5e2e [diff] |
[cabe] update cabe proto targets to support envoy grpc-json transcoding This CL by itself doesn't do anything interesting yet. I have a separate WIP CL to update envoy settings in //k8s-config/skfe which will have to land separately since it's in a different repo. That k8s-config change configures envoy to use the cabe_descriptor_set.pb file generated by the new proto_descriptor_set target in this CL. See https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter for envoy's docs on this transcoding feature. TL;DR is you can apply this filter in front of a grpc service, and envoy will transparently switch between REST+JSON and gRPC transport and encodings based on request headers - the service implementation can keep believing that it's always talking gRPC. Bug: chromium:1473744 Change-Id: Ibe44188f94479e1abe5e40a9fdccbeb05227b478 Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/746138 Commit-Queue: Sean McCullough <seanmccullough@google.com> Reviewed-by: Joe Gregorio <jcgregorio@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