This repository will host a Bazel remote caching and execution system.
This project is just getting started.
Read the meeting notes. Get involved by joining the discussion on the dedicated mailing list.
In general do not execute server binaries with bazel run, since bazel does not support running multiple targets.
All commandline options override corresponding config settings.
Run via
bazel build //src/main/java/build/buildfarm:buildfarm-server && \
bazel-bin/src/main/java/build/buildfarm/buildfarm-server <configfile> [-p PORT] [--port PORT]
-
configfilehas to be in (undocumented) Protocol Buffer text format.For format details see here. Protocol Buffer structure at src/main/protobuf/build/buildfarm/v1test/buildfarm.proto
-
PORTto expose service endpoints on
Run via
bazel build //src/main/java/build/buildfarm:buildfarm-worker && \
bazel-bin/src/main/java/build/buildfarm/buildfarm-worker <configfile> [--root ROOT] [--cas_cache_directory CAS_CACHE_DIRECTORY]
-
configfilehas to be in (undocumented) Protocol Buffer text format.For format details see here. Protocol Buffer structure at src/main/protobuf/build/buildfarm/v1test/buildfarm.proto
-
ROOTbase directory path for all work being performed. -
CAS_CACHE_DIRECTORYis (absolute or relative) directory path to cached files from CAS.
Most third-party dependencies (e.g. protobuf, gRPC, ...) are managed automatically via
bazel-deps. After changing the dependencies.yaml file,
just run this to regenerate the 3rdparty folder:
git clone https://github.com/johnynek/bazel-deps.git ../bazel-deps2
cd ../bazel-deps
bazel build //src/scala/com/github/johnynek/bazel_deps:parseproject_deploy.jar
cd ../bazel-buildfarm
../bazel-deps/gen_maven_deps.sh generate -r `pwd` -s 3rdparty/workspace.bzl -d dependencies.yamlThings that aren't supported by bazel-deps are being imported as manually managed remote repos via
the WORKSPACE file.