abrasive

See it in action

Prefer reading? Here's the transcript.

Fresh clone of this project. Setting up abrasive takes two commands: abrasive auth to log in once, and abrasive setup to write a small config file. That’s it.

Here’s a cold build. Plain cargo takes about ten seconds on my laptop. I run abrasive build and the same project finishes in about six. Abrasive ships the code to a build server, compiles it there, sends the result back. Same command, a lot less waiting.

Now the more interesting cases.

I changed one line in one file. Plain cargo does a quick incremental rebuild. Abrasive does the same, but also has to ship the new binary back over the network. On small projects, plain cargo can edge it out by a second or so. On a real codebase, abrasive wins.

Here’s the real payoff. I just pushed those changes. Pretend my teammate pulls them down and runs abrasive build. Their first build ever on this branch takes under a second. No compile at all. The build server kept what I built, and they get it for free.

That’s the whole idea: the first person to build a revision pays the compile cost. Everybody else on the team gets it for free. Same story for CI runs on the same commit.

Same commands as cargo: abrasive build, abrasive test, abrasive run. Shared across your whole team.