Everything else in this milestone is checked on a machine that has the source,
the toolchain and the caches. An operator has none of those. The gap between
those two machines is where a missing runtime dependency, a wrong architecture,
or an artifact that was never actually in the archive is discovered, and it is
usually discovered by the operator.
What this produces
A verification run on a clean machine with no toolchain and no source, that
downloads the published artifact, verifies its checksum and its provenance from
#87, runs the probe from #92 against a server, and fails if any step does not
work.
The same run on each platform family the release claims to support, since an
artifact that works on one is no evidence about another.
An honest statement of which platform families are not verified this way and why,
so that a green run cannot be read as covering all of them.
Done when
The verification runs on a clean machine per claimed platform family, a
deliberately corrupted artifact fails it, the unverified families are named in
the run output, and a release cannot be marked ready until it has passed.
Blocked on #87, #92, #94.
Everything else in this milestone is checked on a machine that has the source,
the toolchain and the caches. An operator has none of those. The gap between
those two machines is where a missing runtime dependency, a wrong architecture,
or an artifact that was never actually in the archive is discovered, and it is
usually discovered by the operator.
What this produces
A verification run on a clean machine with no toolchain and no source, that
downloads the published artifact, verifies its checksum and its provenance from
#87, runs the probe from #92 against a server, and fails if any step does not
work.
The same run on each platform family the release claims to support, since an
artifact that works on one is no evidence about another.
An honest statement of which platform families are not verified this way and why,
so that a green run cannot be read as covering all of them.
Done when
The verification runs on a clean machine per claimed platform family, a
deliberately corrupted artifact fails it, the unverified families are named in
the run output, and a release cannot be marked ready until it has passed.
Blocked on #87, #92, #94.