3fba385513
Each test job now runs once under coverage and uploads a small .coverage.* artifact. The coverage job combines them on ubuntu-latest — no test reruns, no KVM dependency. The infra candidate is built directly on the KVM runner, eliminating the build-infra job and the ~70 s upload + ~83 s combined download. For PRs, no rootfs artifact is transferred at all. Main-branch pushes upload the tested rootfs and matching dropbear so publish-infra publishes the byte-identical artifact. relative_files = True in .coveragerc lets coverage files from different runners combine without path remapping. Closes #446
23 lines
900 B
INI
23 lines
900 B
INI
[run]
|
|
branch = True
|
|
source = .
|
|
# Store paths relative to the project root so .coverage.* files produced on
|
|
# different runners (ubuntu-latest vs self-hosted KVM) can be combined by the
|
|
# coverage job without a [paths] remapping section.
|
|
relative_files = True
|
|
|
|
[report]
|
|
# Coverage policy: see docs/decisions/0004-coverage-policy.md.
|
|
#
|
|
# `omit` is reserved for genuinely interactive entry-point shells whose
|
|
# bodies are `read_tty_line()` / curses prompt loops — there is no
|
|
# behaviour to assert that a test wouldn't have to fake wholesale, so a
|
|
# test here would inflate the number without buying confidence. This is
|
|
# NOT a place to hide subprocess/backend orchestration: that code is
|
|
# security-relevant and is measured via the integration suite instead
|
|
# (run scripts/coverage.sh for the combined unit+integration number).
|
|
omit =
|
|
bot_bottle/cli/tui.py
|
|
bot_bottle/cli/init.py
|
|
tests/*
|