Apply the log-verbosity reduction from controller-coverage-optimization:
each heavy step writes full output to a build/*-output.log file (still
uploaded as an artifact) and streams to the live console only a one-line
"OK" on success, or the COMPLETE log via `cat` on failure. The Forgejo
server stores every streamed line as the live job log, and that aggregate
volume across all controller-driven CI runs is what overloads it; failures
remain byte-identical to before, so no diagnostic data is suppressed.
Also:
- apt-get update -qq / apk add -q to quiet package-manager chatter
- dockerd logs redirected to a file, cat'd only on a docker build failure
- paired log-artifact uploads for build/docker/helm/push-validation
- TEST_PROCESSES=8 cap on unit/integration tests (prevents OOM SIGKILL
/ exit 137 from oversubscribing RAM on high-core hosts)
The coverage gate (nox --fail-under, propagated via exit code) and the
existing skip_coverage operator kill switch are preserved unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>