rbt
rbt copied to clipboard
Roc Build Tool
This makes `Coordinator` walk the build graph in parallel. After some discussion on Zulip, I did this with async Rust instead of spawning threads directly. I think this could still...
When implementing #7, @celsobonutti found that it's pretty inconvenient to capture stdout as a build result: you need to spawn a shell and do input redirection. This is a common-enough...
https://github.com/tokio-rs/console should be a useful tool for us to figure out if rbt is performing well after merging https://github.com/roc-lang/rbt/pull/82. Let's set it up and see if it can give us...
When rbt gets a `Job` from Roc, it uses the information to create a key, which is then used as the identifier for the job in the build graph. However...
We know that it'll be way too annoying to manually specify every single one of our files, so we'd like something a little better! I'm assigning @zwilias on this since...
With https://github.com/roc-lang/rbt/pull/69, we have an actual build graph. Next step: walk it in parallel! Dependencies: - https://github.com/roc-lang/rbt/pull/69 for the parallel graph - https://github.com/roc-lang/rbt/issues/72 for a data store that can be...
As in ADR 008 (`docs/adrs/008-unified-inputs.md`) we need some data structure like this to avoid conflicts between jobs and source files: ```elixir FileMapping := { sourceFile : Str, workspacePath : Str...
we don't currently empty out the environment, which means that paths like `HOME` are totally available for caching, config files, etc. Not isolated even a little! What we want: create...
Jobs currently just have their IDs and the first 20 characters (or so) of their commands. We should do two things to improve this: 1. allow `job` to take an...
Once we have a bunch of jobs running in parallel (https://github.com/roc-lang/rbt/issues/73) we should make a nicer CLI output. Something like [superconsole](https://crates.io/crates/superconsole) should come in quite handy!