REPOMATIC-JOB-TIMINGS(1) REPOMATIC-JOB-TIMINGS(1)

repomatic job-timings - Measure how long each runner image takes, from finished runs

repomatic job-timings [OPTIONS]

Report median whole-job wall-clock per runner image.

Runner choice is supposed to rest on measurement, and the measurement that matters is whole-job: this repository once kept a lean image for years on a benchmark that timed only the tool pass, where it looked near-parity, while end to end it was 20-56% slower. The jobs API reports start and end timestamps, so what this reads is whole-job by construction.

Only successful runs are sampled, because a failed run's jobs stop early and time where the failure landed rather than what the image costs. The figure is a median across several runs, which is what turns a queue stall into noise instead of a verdict.

Workflow file whose runs to sample, from .github/workflows/.
[values: autofix.yaml, autolock.yaml, cancel-runs.yaml, changelog.yaml, debug.yaml, docs.yaml, labels.yaml, lint.yaml, metrics.yaml, release.yaml, self-maintenance.yaml, tests.yaml, unsubscribe.yaml]
Branch whose runs to sample.
How many recent successful runs to sample.
Write the report as a Markdown table to this file, for documentation.
Sort table by this column. Repeat to set priority.
Show this message and exit.

Workflow file whose runs to sample, from .github/workflows/.
Branch whose runs to sample.
How many recent successful runs to sample.
Write the report as a Markdown table to this file, for documentation.
Sort table by this column. Repeat to set priority.
Show this message and exit.

0
Success.
1
A runtime error, or an aborted prompt (Ctrl-C, a declined confirmation).
2
A usage error: unknown option, invalid value, missing operand, or an unparsable configuration file.

Which image is holding the matrix up

repomatic job\-timings

A wider sample, written out for documentation

repomatic job\-timings \-\-limit 10 \-\-output timings.md

Kevin Deldycke

2026-09-14 7.15.1.dev0