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

openconfig / kne / 35919878263
47%

Build:
DEFAULT BRANCH: main
Ran 23 Sep 2026 09:03PM UTC
Jobs 1
Files 62
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

23 Sep 2026 09:02PM UTC coverage: 44.626% (+0.5%) from 44.169%
35919878263

push

github

web-flow
Pipeline KNE cluster init deploys (#768)

* exec/fake: make Command safe for concurrent use

fake.Command served double duty as both the shared response registry and
the exec.Cmd handed back to the caller: Command() mutated cmd/args on the
receiver and returned the receiver itself. Any code under test that ran
commands from more than one goroutine therefore raced on the command name,
args and stdio, and could observe another goroutine's output.

Split the two roles. Command keeps the response bookkeeping and now hands
out an independent invocation per call, and the response matching happens
under a mutex. The lock is held across the LogCommand callback as well, so
test hooks that record commands stay serialized and need no locking of
their own.

Response ordering semantics are unchanged: responses are still matched in
order by default, so tests that issue commands concurrently need to mark
the affected responses OutOfOrder.

No change to the exported API.

* deploy: inject the k8s client into all components before deploying

CNI and controllers had SetKClient called immediately *after* their
Deploy, not before. That works only because their Deploy is currently a
plain kubectl apply that never touches the client; the moment one of them
needs it, as Ingress already does, it would see a nil client.

Move all of the client injection into a single block before anything is
deployed. No behavior change today, but it removes an ordering trap and
is a prerequisite for deploying the components concurrently, where
"set it just after Deploy" has no well-defined meaning.

* deploy: bring up ingress, CNI and controllers concurrently

Deploy walked the components one at a time, deploying each and then
blocking until it reported healthy before touching the next. The
components are independent: each applies its own manifests and waits for
its own workloads in its own namespace, and none reads state produced by
another. Serializing them made a deployment cost the sum o... (continued)

149 of 168 new or added lines in 5 files covered. (88.69%)

1 existing line in 1 file now uncovered.

6021 of 13492 relevant lines covered (44.63%)

0.51 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
64.29
2.12% exec/run/run.go
6
66.43
3.8% deploy/deploy.go
1
39.73
-0.55% cmd/deploy/deploy.go
1
4.91
-0.03% cmd/root.go
1
99.39
0.05% exec/fake/fake.go

Coverage Regressions

Lines Coverage ∆ File
1
66.43
3.8% deploy/deploy.go
Subprojects
ID Flag name Job ID Ran Files Coverage
1 /jobs/188405384 35919878263.1 23 Sep 2026 09:03PM UTC 62
44.63
GitHub Action Run
Source Files on build 35919878263
  • Tree
  • List 62
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • bd2fcd39 on github
  • Prev Build on main (#35903851854)
  • Next Build on main (#36066937338)
  • 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