-
Notifications
You must be signed in to change notification settings - Fork 522
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
Initial Toolchain support #645
Conversation
This is currently still very much WIP. Will update as soon as it is in a reviewable state. |
Made quite a bit of progress and is functionally very close to be complete and in reviewable state. Should just be a matter of fixing the last platform specific issues from ci and cleaning things up. I will be on holiday next week so probably won't be able to finish this before. |
I'm looking forward to testing this. Good work |
# If tool_path is empty and tool_target is None then there is no local | ||
# node tool, we will just print a nice error message if the user | ||
# attempts to do bazel run | ||
ctx.actions.write( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is a critical failure then using fail("error message")
would be better so execution stops at this point
Nice. I did a once over and looks like its most of the way there functionally. A few questions regarding usage:
|
@gregmagolan Thanks for taking a look already and apologies for the delayed response. Yep So the default behaviour of The vendored node use-case is still supported in the same way with The command to do that btw is: |
I tested this on my macbook btw and could build a docker container. It is functionally complete, just needs cleaning up, documentation and some tests. |
Great, I'm looking forward to this. |
Closed in favour of #827 |
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
Nodejs is downloaded for each platform but does not support toolchains, so does e.g. also not support cross compilation or building of docker images on macOS.
Issue Number: First part of #396
What is the new behavior?
Switches out nodejs to be fetched using platform specific toolchains.
Does this PR introduce a breaking change?
Other information
I started working on this a while ago but then got pulled away by trying to finish up other issues and also by starting to work on getting full support also for npm/yarn deps. Functionality wise it has all functionality to get nodejs as a toolchaing and support basic cross-compilation, i.e. building images on macOS that do not have any native dependencies. The platform specfic npm/yarn dependency support is incomplete and as it is turning out to be a more complex I was thinking of pulling this out of this PR and get the basic support in first and focus on npm/yarn specific support in a separate PR.