馃崷 Document NativeLink for users coming from icecream
#1,299 opened on Aug 30, 2024
Repository metrics
- Stars
- 聽(1,557 stars)
- PR merge metrics
- 聽(PR metrics pending)
Description
Icecream is a compile job distribution setup for legacy build systems.
The way it roughly works is to intercept the PATH on the host via symlinks that override various tools such as clang via symlinks https://github.com/icecc/icecream/blob/9d397ef13508053802fb5048a92e92b918e5c32e/client/Makefile.am#L53.
While the K8s examples are the "recommended" approach, they require knowing K8s which seems like an unreasonable expectation for users that are used to getting distributed compilation by prefixing PATH.
Fortunately, NativeLink supports a similarly simple setup by running native workers on machines that previously ran iceccd and a scheduler on the node that previously ran icecc-scheduler. However, this is not clearly documented and users shouldn't have to learn how the nativelink config works if all they're trying to do is run a scheduler and some native workers.
We should provide documentation and canned config JSONs for users coming from icecream to make using NativeLink as accessible as possible. An "If you're coming from icecream" section or similar in the docs should solve this issue.
cc @allada @blakehatch @adam-singer