-
Notifications
You must be signed in to change notification settings - Fork 5
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
allow jobs to depend on jobs #69
Conversation
the order really matters here! It needs to live all in one place.
this is ready to review, despite that fact that macOS builds are failing. Gonna ask about that on Zulip later… maybe it's a nightly thing? I haven't really dug in yet, though. |
} | ||
|
||
for key in self.input_jobs.keys().sorted() { | ||
let dep = job_to_content_hash.get(key).context("could not look up output hash for dependency. This is a bug in rbt's coordinator. Please file it!")?.hash(); |
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.
What hasher does this hash()
use?
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.
it's a getter for content-addressable store key, whose hashing has already been done. (It uses blake3 there.)
@bhansconnect this is ready for another look! You were right that there were a few bugs. Luckily, they were easy to fix. 💯 |
wheeeee it's finally happening! |
Allows jobs to depend on other jobs, making a build graph! Finally! Yay!
Of course, job execution is still single-threaded, but now we can do more-or-less the same jobs as
make --jobs 1
! (Although we don't do the magic dynamic discovery thing that make does.)Fixes #67