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

stacklok / toolhive / 24154254996
65%

Build:
DEFAULT BRANCH: main
Ran 08 Apr 2026 07:33PM UTC
Jobs 1
Files 606
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

08 Apr 2026 07:27PM UTC coverage: 65.086% (-0.02%) from 65.102%
24154254996

push

github

web-flow
Consolidate MCPRegistry status to match MCPServer pattern (#4643)

* Consolidate MCPRegistry status to match MCPServer pattern

MCPRegistry had an over-engineered three-phase status model with separate
SyncStatus and APIStatus sub-objects, a DeriveOverallPhase() method, and
a StatusCollector batching pattern. With sync operations moved to the
registry server itself, only deployment readiness remains as a status
source, making this complexity unnecessary.

Flatten MCPRegistryStatus to the standard Kubernetes workload pattern
used by MCPServer: Phase + Ready condition + ReadyReplicas + URL. This
enables kubectl wait --for=condition=Ready and consistent tooling across
all ToolHive workloads.

Closes #4251
Closes #4269
Closes #4270
Closes #4510

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

* Regenerate CRD API reference docs for MCPRegistry status changes

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

* Address review findings from MCPRegistry status consolidation

- Use latest.Generation instead of stale mcpRegistry.Generation for
  ObservedGeneration (Finding 2)
- Add GetAPIStatus() combining IsAPIReady + GetReadyReplicas into a
  single Deployment fetch, and return isReady from updateRegistryStatus
  to eliminate 3 redundant GETs per reconcile (Finding 3)
- Defer PodTemplate condition to updateRegistryStatus instead of writing
  status twice per reconciliation on the valid path (Finding 4)
- Remove dead ConditionType field from registryapi.Error (Finding 5)
- Remove redundant ReadyReplicas assignment (Finding 6)
- Update architecture docs to reflect simplified status model (Finding 1)

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

* Regenerate CRD Helm templates

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

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

102 of 166 new or added lines in 5 files covered. (61.45%)

59 existing lines in 10 files now uncovered.

54788 of 84178 relevant lines covered (65.09%)

63.42 hits per line

Uncovered Changes

Lines Coverage ∆ File
35
43.45
-10.33% cmd/thv-operator/pkg/registryapi/manager.go
16
74.37
0.77% cmd/thv-operator/controllers/mcpregistry_controller.go
10
49.15
-24.53% cmd/thv-operator/pkg/registryapi/mocks/mock_manager.go
3
66.67
-33.33% cmd/thv-operator/pkg/registryapi/types.go

Coverage Regressions

Lines Coverage ∆ File
14
74.44
-5.19% pkg/client/config.go
11
68.42
-14.47% pkg/client/discovery.go
10
49.15
-24.53% cmd/thv-operator/pkg/registryapi/mocks/mock_manager.go
8
23.56
0.57% pkg/client/manager.go
6
76.15
-5.5% pkg/secrets/keyring/keyctl_linux.go
3
82.81
0.21% pkg/vmcp/composer/workflow_engine.go
2
74.37
0.77% cmd/thv-operator/controllers/mcpregistry_controller.go
2
73.63
-0.64% pkg/runner/config.go
2
71.43
-1.68% pkg/vmcp/k8s/manager.go
1
34.72
0.29% cmd/thv-operator/api/v1alpha1/zz_generated.deepcopy.go
Jobs
ID Job ID Ran Files Coverage
1 24154254996.1 08 Apr 2026 07:33PM UTC 606
65.09
GitHub Action Run
Source Files on build 24154254996
  • Tree
  • List 606
  • Changed 19
  • Source Changed 7
  • Coverage Changed 18
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24154254996
  • d68ea47f on github
  • Prev Build on main (#24150259170)
  • Next Build on main (#24154921794)
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