Skip to content

v0.13

Compare
Choose a tag to compare
@warpfork warpfork released this 11 Aug 02:54
· 488 commits to master since this release

v0.13 is calm sailing: we have a variety of performance improvements, a few new config options, several logging improvements, and essentially no major shockers.

If parsing the output struct of repeatr run, note the changes to format there. (We made things a great deal terser; also, "outputs" was renamed to "results".)


Full list of changes:

  • Internal: Major refactor to package structure. IO components now more clearly separated from sandbox/execution and other bits of repeatr core.
  • Internal: Types now gathered under api/* packages, so that these can be easily linked to help integrate other systems with repeatr.
  • Bugfix: Several error handling paths in the tar transmat are now considered WarehouseUnavailableError (instead of the more red-flaggy WarehouseIOError), allowing other sources to be tried.
  • Feature: Formulas now accept an action.hostname parameter, going along with other environmental specifiers there. This will set the hostname (in execution engines that support this feature).
  • Internal: Scheduler package removed.
  • Improvement: Assets used for testing now have a more scripted process for priming your cache for offline work.
  • Improvement: More logging during filesystem setup before execution and the scanning afterward. Now includes easy to see $n/$m progress reporting.
  • Internal: Executors now use take a structured logger as a parameter. No more surprisingly deeply-reaching byte streams.
  • Internal: Formula execution implemented through the new api interfaces.
  • Change: The output of repeatr run is a new structure, and less verbose again (it only speaks of results, and doesn't repeat the entire formula).
  • Feature: repeatr twerk can now accept several kinds of formula patches -- policy settings, env vars, etc.
  • Feature: repeatr cfg subcommand now exists to make your life easier: if you want yaml formulas transformed into easier-to-handle json, you got it.
  • Internal: The root package domain was changed.
  • Improvement: Several transmats compare hashes in a slightly more user-friendly way (specifically, they b64 things, then compare, rather than the other way around -- this results in a more helpful error message in case your formula contained a typo in the hash that doesn't parse as b64).
  • Internal: The def/api package no longer has an external dependency on an unusual error handling library. This should make it much easier to import in other go projects.
  • Improvement: Reduced CPU spend on output streaming. (Buffer jitter may have increased, but shouldn't be particularly perceptible in practical use.)