仓库指标
- 星标
- (1,557 个星标)
- PR 合并指标
- (PR 指标待抓取)
描述
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