llama
bazel-buildfarm
llama | bazel-buildfarm | |
---|---|---|
10 | 4 | |
578 | 623 | |
- | 1.0% | |
4.0 | 9.5 | |
about 2 months ago | 4 days ago | |
Go | Java | |
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.
llama
- Llama – A CLI for outsourcing computation to AWS Lambda
- llama
- Distcc: A fast, free distributed C/C++ compiler
-
Distributed Cloud Builds for Everyone
I was surprised there wasn't a more obvious link, but the implementation of the ideas in the post is in open-source CLI tool here https://github.com/nelhage/llama
- Llama: CLI for outsourcing computation to Amazon Lambda
-
Outrun: Execute local command using processing power of another Linux machine
See also llama:
https://github.com/nelhage/llama
> Llama is a tool for running UNIX commands inside of Amazon Lambda. Its goal is to make it easy to outsource compute-heavy tasks to Lambda, with its enormous available parallelism, from your shell.
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.
What are some alternatives?
icecream - Distributed compiler with a central scheduler to share build load
gnu-parallel - A clone of GNU Parallel (git://git.savannah.gnu.org/parallel.git)
OpenAFS - Fork of OpenAFS from git.openafs.org for visualization
mainframer - Tool for remote builds. Sync project to remote machine, execute command, sync back.
remote-apis - An API for caching and execution of actions on a remote system.
pyroscope-rs - Pyroscope Profiler for Rust. Profile your Rust applications.
cargo-mutants - :zombie: Inject bugs and see if your tests catch them!
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.
recc
rules_closure - Closure rules for Bazel
outrun - Execute a local command using the processing power of another Linux machine.
pyzmq - PyZMQ: Python bindings for zeromq