Files
codebase-memory-mcp/.github
Martin Vogel 95b3ba9448 ci(dry-run): add skip_smoke for a direct build -> VirusTotal pass
Adding the VirusTotal step left one trip unavailable: build straight to the
scan. Smoke is in the VirusTotal job's needs, so the only way to reach the scan
was to run smoke first — and a smoke failure would withhold precisely the answer
such a run was dispatched to get.

The skips now cover the three questions worth asking separately:

  skip_builds      no artifacts at all             "do lint and tests pass?"
  skip_smoke       build + scan, no smoke          "does this diff scan red?"
  skip_virustotal  build + smoke + soak, no scan   "do the archives pass CI?"

skip_smoke is for the case where the scan verdict is the entire point: the last
release scanned clean, so the question is only whether the accumulated diff
turns it red. Everything between build and the scan is cost without information
for that question.

VirusTotal keeps smoke and soak in its needs, and that is deliberate: they order
the job last, they do not gate it. A SKIPPED smoke leaves the scan reachable
(result 'skipped', which is not 'failure'); a FAILED smoke still withholds it,
because a verdict on artifacts already known to be broken is not worth two hours
of polling. The release-gate-chain contract covers exactly this distinction —
an optional phase must not silently disable the phases after it — and passes.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-08-07 19:14:54 +02:00
..