• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kubernetes-sigs / inference-perf / 33914556970
80%

Build:
DEFAULT BRANCH: main
Ran 04 Sep 2026 08:13PM UTC
Jobs 1
Files 116
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

04 Sep 2026 08:06PM UTC coverage: 78.049%. First build
33914556970

push

github

web-flow
Add absolute coverage metrics, artifacts, and a Coveralls badge (#527)

Addresses: https://github.com/kubernetes-sigs/inference-perf/issues/518

## Summary

Augments the coverage gate (`scripts/check_coverage_regression.py`)
beyond the delta-vs-main ratchet:

- Enable multiprocessing-aware coverage so subprocess code (the `Worker`
request collector in `inference_perf/loadgen/load_generator.py`) reports
real numbers instead of reading as uncovered.
- Print absolute total coverage and enforce a repo-wide floor
(`MIN_TOTAL_COVERAGE`) alongside the existing delta ratchet. Both
hard-fail.
- Emit `coverage.json`, `coverage.xml` and `coverage.lcov`, and publish
them as CI artifacts.
- Upload `coverage.lcov` to Coveralls on push to main. The README badge
renders from there.

## What multiprocessing collection buys

Measured over the full suite with only the `concurrency` setting varied,
everything else held constant:

| | without | with | delta |
|---|---|---|---|
| `inference_perf/loadgen/load_generator.py` | 45.65% | 59.78% | +14.13
|
| `inference_perf/loadgen/` package | 47.66% | 60.81% | +13.15 |
| repo total | 76.12% | 77.17% | +1.05 |

That code was always exercised by the suite. It just was not being
recorded.

## Badge publishing

An earlier revision of this PR pushed a shields.io endpoint JSON to a
`badges` branch. That does not work in this org: Prow's branchprotector
protects every branch in `kubernetes-sigs` except a few reserved
prefixes, so `badges` would be protected shortly after creation and
every later push rejected for a missing `EasyCLA` status, leaving Code
Coverage red on main from then on. Unblocking it would have needed a
companion kubernetes/test-infra change.

Coveralls needs none of that. It authenticates with the built-in
`GITHUB_TOKEN`, so there is no repository secret, no org-level app
install, and no push access to any branch. The job stays at `contents:
read`, and there is no branch left for concurrent pushes to race on.
`kuber... (continued)

9067 of 11617 relevant lines covered (78.05%)

0.78 hits per line

Jobs
ID Job ID Ran Files Coverage
1 33914556970.1 04 Sep 2026 08:13PM UTC 116
78.05
GitHub Action Run
Source Files on build 33914556970
  • Tree
  • List 116
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33914556970
  • c7ad70fc on github
  • Next Build on main (#34107537952)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc