Runs mix quality and attests that what it ran was the full gate.
A green run is not by itself evidence of a green gate: --profile loop,
--test-scope changed, --quick and --skip all produce one, and each of
them checks less. ADR-0011 makes reporting such a run as a full gate a
weakening of the gate; this task is how that claim gets checked rather than
remembered.
Usage
mix gate.verifyThe run passes only when the report says status: "ok", scope: "all", no
profile, and no stage skipped for a reason that names this run rather than the
project. Exit status is 0 when it attests and 1 when it does not.
A stage skipped for a project-level reason (:sobelow not installed,
disabled in .quality.exs, a custom stage's own skip) is named in the output
but does not fail the attestation: that is a gap in what the project checks at
all, which a fuller run cannot close.
Summary
Functions
Runs the gate and reports the attestation instead of halting.
Functions
Runs the gate and reports the attestation instead of halting.
opts[:runner] replaces the mix quality shell-out with a function of an
argument list returning {output, status}, mirroring
Mix.Tasks.Test.Regression, so tests drive this without a nested gate run.