Skip to content

v0.200.1

Compare
Choose a tag to compare
@warpfork warpfork released this 27 Dec 15:33
· 71 commits to master since this release

Another month, another release.

This release is fabricated -- reproducibly! -- by the scripts in the omnibus dir of this repo. All source hashes can be seen pinned there. All build instructions are captured in formulas.

Major changes:

  • Error handling continues to improve iteratively...
  • We fixed some nasty bugs with handling some kinds of paths in the tar transmat. (No security notice; previously, some inputs would simply fail. Now they work.)
  • git: It's back in. You can now use rio unpack git:<commitHash> to get a checkout of a working tree (and yes, submodules are also supported).
    • this is now implemented via the delightful go-git library -- meaning it's in pure golang, and thus bundled completely in our release and does not depend on your host's git on the $PATH. This is a massive lifestyle improvement over the previous Repeatr v0.15 git implementation, which merely hoped you had a global git installation that looked roughly right.
  • mount "inputs" now support files, FIFOs, and even device nodes in addition to directories. (This might be interesting if you wanted to, say, mount your X11 socket, or your video and sound device nodes. Yep, that works.)
  • built-in memoization 🎉 🎉 🎉
    • set REPEATR_MEMODIR=./memos/ and repeatr run will store RunRecords there, each in their own file named after the Formula SetupHash. When repeatr run is invoked, it will look for a memoized RunRecord, and immediately return it.
    • this is AWESOME because it means you can trivially string a bunch of steps together, and run the whole script repeatedly, and it'll no-op instantaneously if nothing changed. Change any input, and it cachebusts. Correctly. Every time. Hello this is the future, weclome

So yeah, this release is pretty great. Use it.