Uh oh!
There was an error while loading. Please reload this page.
Skeleton for distributing run-task/fetch-content as rust binaries. - #374
Skeleton for distributing run-task/fetch-content as rust binaries.#374bhearsum wants to merge 1 commit into
Conversation
bhearsum
commented
Dec 1, 2023
(CI is failing because there's no Rust toolchain in the image...d'oh.) |
ahal
commented
Dec 4, 2023
This is awesome! Though something just occurred to me.. how will this play with the fact we vendor Taskgraph in Gecko? I guess |
bhearsum
commented
Dec 5, 2023
How does this work for other binary dependencies (eg: Another option would be to split out any binary components into a separate package, and put only that elsewhere. (Although at that point...maybe we should just make these two things a crate that is vendored in Gecko, and built for usage?) I don't have any brilliant ideas so far... |
ahal
commented
Dec 5, 2023
Afaik, we don't vendor any binary packages for this very reason. Another option is we could stop vendoring Taskgraph and just install it from pypi, and that should be fine (the bits of the build system that depend on Taskgraph require an internet connection anyway). As I recall, the main reason we vendor it was because Aki was concerned it would be difficult to land changes across both |
bhearsum
commented
Dec 5, 2023
@jcristau and I had a discussion about this on Matrix which centered around how this would work for decision task - which is run through This is yet another complication of having a compiled I'm starting to think that including any compiled code in taskgraph is not going to be worth the effort... |
ahal
commented
Dec 5, 2023
Yeah, that could definitely be the case. It's probably a solvable problem.. but is it worth the headache |
This is a tiny skeleton, but it gets us far enough that
run-taskandfetch-contentare runnable after installingtaskgraph.I've also managed to mostly prove that cross compilation works.
maturin build --target x86_64-pc-windows-msvcproduced a Windows compatible wheel for me.maturin build --target x86_64-apple-darwinfailed to produce a macOS wheel, but I believe this is fixable with these instructions about installing a compiler toolchain (I haven't had a chance to test it out yet - but I certainly know that cross compiling Rust from Linux to macOS is possible...so there's a high chance it can be made to work.)