kernel-rebase: add skeleton for builder service

BUG=b:275317987
TEST=
Verified on Ganeti server instance - kcr-bisection-dispatcher.fra.corp.google.com

1. Install docker
https://g3doc.corp.google.com/cloud/containers/g3doc/glinux-docker/install.md?cl=head#installation

2. Clone developer utils repository
git clone https://chromium.googlesource.com/chromiumos/platform/dev-util

3. Install gcloud
sudo apt install -y google-cloud-cli

4. Authenticate gloud
gcloud auth login

5. Build image
cd dev-util/contrib/kernel-rebase/bisection
./runner build

6. Run container using build image
./runner run

7. Inside container start bootstrap_builder to setup cros_sdk

8. Inside container build .proto files
cd /home/builder/chromiumos/src/platform/dev/contrib/kernel-rebase/bisection
./compile_proto

9. Fetch kernel upstream
cd /home/builder/chromiumos/src/third_party/kernel/upstream
git fetch cros

10. Inside container start builder service
cd /home/builder/chromiumos/src/platform/dev/contrib/kernel-rebase/bisection
python3 kbuild_builder_service.py

11. Outside container install python pip3 and python modules
sudo apt install python3-pip
pip3 install pip install grpcio grpcio-tools sh
export PYTHONPATH=/usr/local/google/home/ukaszb/dev-util/contrib/kernel-rebase/bisection:$PYTHONPATH

12. Outside container start builder client
cd src/platform/dev/contrib/kernel-rebase/bisection/test
python3 kbuild_builder_client.py

13. Inside container
Observe that kernel build was completed successfully

Change-Id: I11d94d28e0ebd166a45f55245d51b9b8dcd32791
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/4482556
Tested-by: Łukasz Bartosik <ukaszb@google.com>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Commit-Queue: Łukasz Bartosik <ukaszb@google.com>
2 files changed