- Notifications
You must be signed in to change notification settings - Fork193
NativeLink is an open source high-performance build cache and remote execution server, compatible with Bazel, Pants, Buck2, Reclient, and other RE-compatible build systems. It offers drastically faster builds, reduced test flakiness, and support for specialized hardware.
License
TraceMachina/nativelink
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
NativeLink is an efficient, high-performance build cache and remote execution system that accelerates software compilation and testing while reducing infrastructure costs. It optimizes build processes for projects of all sizes by intelligently caching build artifacts and distributing tasks across multiple machines.
NativeLink is trusted in production environments to reduce costs and developer iteration times--handling overone billion requests per month for its customers, including large corporations such asSamsung.
Advanced Build Cache:
- Stores and reuses results of previous build steps for unchanged components
- Significantly reduces build times, especially for incremental changes
Efficient Remote Execution:
- Distributes build and test tasks across a network of machines
- Parallelizes workloads for faster completion
- Utilizes remote resources to offload computational burden from local machines
- Ensures consistency with a uniform, controlled build environment
NativeLink seamlessly integrates with build tools that use the Remote Execution protocol, such asBazel,Buck2,Goma, andReclient. It supports Unix-based operating systems and Windows, ensuring broad compatibility across different development environments.
To start, you can deploy NativeLink as a Docker image (as shown below) or by using our cloud-hosted solution,NativeLink Cloud. It'sFREE for individuals, open-source projects, and cloud production environments, with support for unlimited team members.
The setups below areproduction-grade installations. See thecontribution docs for instructions on how to build from source withBazel,Cargo, andNix.
You can find a few example deployments in theDocs.
Fast to spin up, but currently limited tox86_64
systems. See thecontainerregistryfor all image tags and thecontribution docsfor how to build the images yourself.
Linux x86_64
curl -O \ https://raw.githubusercontent.com/TraceMachina/nativelink/v0.6.0/nativelink-config/examples/basic_cas.json5# See https://github.com/TraceMachina/nativelink/pkgs/container/nativelink# to find the latest tagdocker run \ -v$(pwd)/basic_cas.json5:/config \ -p 50051:50051 \ ghcr.io/tracemachina/nativelink:v0.6.0 \ config
Windows x86_64
# Download the configuration fileInvoke-WebRequest`-Uri"https://raw.githubusercontent.com/TraceMachina/nativelink/v0.6.0/nativelink-config/examples/basic_cas.json5"`-OutFile"basic_cas.json5"# Run the Docker container# Note: Adjust the path if the script is not run from the directory containing basic_cas.jsondocker run`-v${PWD}/basic_cas.json5:/config`-p50051:50051` ghcr.io/tracemachina/nativelink:v0.6.0` config
Slower, since it's built from source, but more flexible and supports MacOS.Doesn't support native Windows, but works in WSL2.
Make sure your Nix version is recent and supports flakes. For instance, installit via thenext-gen nix installer.
Caution
Executables built for MacOS are dynamically linked against libraries from Nixand won't work on systems that don't have these libraries present.
Linux, MacOS, WSL2
curl -O \ https://raw.githubusercontent.com/TraceMachina/nativelink/main/nativelink-config/examples/basic_cas.json5nix run github:TraceMachina/nativelink ./basic_cas.json5
See thecontribution docs for further information.
Visit ourContributing guide to learn how to contribute to NativeLink. We welcome contributions from developers of all skill levels and backgrounds!
Copyright 2020–2025 Trace Machina, Inc.
Licensed under the Apache 2.0 License, SPDX identifierApache-2.0
.
About
NativeLink is an open source high-performance build cache and remote execution server, compatible with Bazel, Pants, Buck2, Reclient, and other RE-compatible build systems. It offers drastically faster builds, reduced test flakiness, and support for specialized hardware.
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.