v0.13
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-flaggyWarehouseIOError
), 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.)