-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
✨ Use custom-built Bazel #62
Conversation
Ignore pre-commit hooks for now. I'll split this up into smaller pieces before committing. The new hook failures are probably caused by updating our lockfiles. The bigger issue at the moment is the size of the image. I think if we build python with the custom clang toolchain we no longer need GCC in the image. We'll still need libstdc++ but not the rest of the toolchain. I'm also wondering whether we can kick out the jdk somehow. We need a jdk to build and run Bazel, but it might be possible to fetch a remotejdk instead of using a container-local one. Current dependency log obtained with Details
|
The variant with bazelisk didn't work well with nix-built multi-layer remote execution images. Switch to an overridden Bazel from nixpkgs and add logic to create such images. The images about 2.6GB in size which is almost as small as we can get for an image containing Bazel and a Clang/LLVM C++ toolchain. We might be able to shave off ~250MB by building python with that same toolchain instead of building it with GCC. Signed-off-by: Aaron Siddhartha Mondal <aaron@eomii.org>
Ironically the gcc dependency seems to be caused by |
Could you shortly explain what the code in baze_ll.nix does? To my understanding, most of the magic is in
Does this line automatically trigger a rebuild of bazel_6 with the altered attributes? |
The original build file for Bazel is here. The override works in two stages. The The |
I'll probably need to completely rework this. This won't make it into the next release since I want it to work with remote execution properly first. That requires more effort both on the Nix side and on the cc_toolchain/Bazel side. |
Superceded by #83. |
The variant with bazelisk didn't work well with nix-built multi-layer remote execution images. Switch to an overridden Bazel from nixpkgs and add logic to create such images.
The images about 2.6GB in size which is almost as small as we can get for an image containing Bazel and a Clang/LLVM C++ toolchain. We might be able to shave off ~250MB by building python with that same toolchain instead of building it with GCC.
Preparation for #47.