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

stacklok / toolhive / 27647035240
67%

Build:
DEFAULT BRANCH: main
Ran 16 Jun 2026 08:52PM UTC
Jobs 1
Files 761
Run time 2min
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

16 Jun 2026 08:45PM UTC coverage: 66.989% (+0.05%) from 66.943%
27647035240

push

github

web-flow
Emit Events from the three config controllers (#5514)

* Use MutateAndPatchStatus/Spec in MCPOIDCConfig controller

Status writes now flow through controllerutil.MutateAndPatchStatus and
finalizer writes through controllerutil.MutateAndPatchSpec, matching the
MCPAuthzConfig controller migration in #4777. The previous r.Status().Update
calls sent full PUT bodies that would clobber conditions written by any
disjoint owner of Status.Conditions on this CRD; the previous r.Update calls
had no optimistic-lock guard around the finalizer array.

Condition and field mutations move inside the helper closures so the
pre-mutate snapshot reflects the live state rather than already containing the
change — a MutateAndPatchStatus prerequisite. A small helper,
setOIDCConfigValidTrueCondition, factors out the Valid=True transition.

Add a PreservesForeignConditions regression test mirroring the MCPAuthzConfig
guard, asserting a foreign-owned condition survives a reconcile.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Use MutateAndPatchStatus/Spec in MCPExternalAuthConfig controller

Status writes now flow through controllerutil.MutateAndPatchStatus and
finalizer writes through controllerutil.MutateAndPatchSpec, matching the
MCPAuthzConfig and MCPOIDCConfig controllers. The previous r.Status().Update
calls sent full PUT bodies that would clobber conditions owned by any disjoint
writer of Status.Conditions on this CRD; the previous r.Update calls had no
optimistic-lock guard around the finalizer array.

The IdentitySynthesized advisory was previously computed once in memory before
validation. Because MutateAndPatchStatus snapshots the object on entry and any
pre-mutate change is dropped from the merge patch, that upfront mutation is
removed; the advisory is now recomputed inside each status-write closure via a
new setValidTrueAndSynthesized helper (and directly on the validation-failure
and setInvalid paths). applyIdentitySynthesizedCondition ... (continued)

124 of 137 new or added lines in 5 files covered. (90.51%)

12 existing lines in 4 files now uncovered.

68969 of 102955 relevant lines covered (66.99%)

62.21 hits per line

Uncovered Changes

Lines Coverage ∆ File
9
6.57
-0.07% cmd/thv-operator/app/app.go
2
67.49
2.56% cmd/thv-operator/controllers/mcpexternalauthconfig_controller.go
2
48.47
5.83% cmd/thv-operator/controllers/mcpoidcconfig_controller.go

Coverage Regressions

Lines Coverage ∆ File
6
76.15
-5.5% pkg/secrets/keyring/keyctl_linux.go
2
96.47
0.0% pkg/authserver/storage/memory.go
2
73.63
-0.64% pkg/runner/config.go
2
94.77
-1.31% pkg/vmcp/composer/dag_executor.go
Jobs
ID Job ID Ran Files Coverage
1 27647035240.1 16 Jun 2026 08:52PM UTC 761
66.99
GitHub Action Run
Source Files on build 27647035240
  • Tree
  • List 761
  • Changed 16
  • Source Changed 4
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27647035240
  • 141f9a4c on github
  • Prev Build on main (#27640706825)
  • Next Build on main (#27649785079)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc