bazel-buildfarm
mainframer
Our great sponsors
bazel-buildfarm | mainframer | |
---|---|---|
4 | 3 | |
624 | 1,704 | |
4.5% | 0.4% | |
9.5 | 0.0 | |
5 days ago | 6 months ago | |
Java | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bazel-buildfarm
-
Distcc: A fast, free distributed C/C++ compiler
It can be. By default it is local.
But it has protobufs interfaces (IIRC), so a distributed build farm would generate the grpc endpoints for their implementation and then you tell bazel on the command line (or via .bazelrc) the address of the build farm it can use.
There's a couple of projects that implement the distributed/grpc part, the main one is https://github.com/bazelbuild/bazel-buildfarm
-
Rust Is Portable
Not sure what to say concerning buildfarm's remote execution.
Reading an issue I've opened 1y ago [1], seems the backend requires the client to have a specific gcc version.
That's a strong limitation imho.
[1] https://github.com/bazelbuild/bazel-buildfarm/issues/545
-
Running container_push inside a container
You can also set up a remote build service that uses the same environment you run the containers in using something like https://github.com/bazelbuild/bazel-buildfarm
-
Distributed build clusters
Currently migrating to Bazel + bazel remote execution via Bazel buildfarm. Bazel has native support for build clusters.
mainframer
-
Ask HN: Is “Distributed CI” Possible?
Do you know about mainframer? [1] It's a tool made for remote builds via ssh/scp. I am using it a lot for my AI training projects because I can continue to work on the code locally without my CPU and GPU going up in smoke.
[1] https://github.com/buildfoundation/mainframer
-
Android Studio via Jetbrains Gateway?
Mainframer is an alternative
-
Distributed build clusters
We do this at work via mainframer and an auto scaling backend via k8s and it has worked well.
What are some alternatives?
llama
grazel - A tool to migrate Android projects from Gradle to Bazel incrementally and automatically
gnu-parallel - A clone of GNU Parallel (git://git.savannah.gnu.org/parallel.git)
projector-installer - Install, configure and run JetBrains IDEs with Projector Server on Linux or in WSL
pyroscope-rs - Pyroscope Profiler for Rust. Profile your Rust applications.
mirakle - Gradle plugin to move build process to remote machine.
sccache - Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cloud storage options, or alternatively, in local storage.
warpgate - Smart SSH, HTTPS and MySQL bastion that requires no additional client-side software
rules_closure - Closure rules for Bazel
keysync - A CLI to download and update local authorized_keys file with GitHub, GitLab, or Launchpad.
pyzmq - PyZMQ: Python bindings for zeromq
remote-apis - An API for caching and execution of actions on a remote system.