mix temper.merge (temper v0.3.0)

Copy Markdown View Source

Merges recorded history files into a single deduplicated file.

$ mix temper.merge --output merged.jsonl artifacts/*/history-*.jsonl
$ mix temper.merge --output .temper/history-0.jsonl

This is the aggregation step of the CI artifact flow: each job uploads its .temper/ directory as an artifact, a later step (or your machine) downloads them all, merges, and runs mix temper.report against the result. Merging also compacts overlapping cache restores — byte-identical lines are written once.

Positional arguments are input globs (a plain path is a glob matching just itself); a literal {partition} widens to *, and globs match into dot-directories, since artifact downloads keep history inside .temper/. Without arguments, inputs default to the configured history path (config :temper, history_path) or the default .temper/history-*.jsonl — useful for compacting every partition's file into one.

Lines this Temper version does not interpret (suite summaries, future schema versions) are preserved verbatim; corrupt lines (truncated cache tails) are skipped and counted. Surrounding whitespace is normalized away before comparison, exactly as the reader does — so whitespace-padded copies of a record (a CRLF-converted file, an edited line) dedupe instead of turning into double-counted records. The output file is replaced, and may itself be one of the inputs.

Options

  • --output PATH (required) — the file to write