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

stacklok / toolhive / 20729476581
50%

Build:
DEFAULT BRANCH: main
Ran 05 Jan 2026 09:23PM UTC
Jobs 1
Files 417
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

05 Jan 2026 09:19PM UTC coverage: 50.443% (-0.2%) from 50.601%
20729476581

push

github

web-flow
VMCP: Delete rawConfig (#3155)

Deleted rawConfig and unmarshal directly to config.Config with strict mode.

Step 1 of #3125

Changes to pkg/vmcp/config/yaml_loader.go:
Removed all raw types :

rawConfig, rawIncomingAuth, rawOutgoingAuth, rawBackendAuthStrategy
rawHeaderInjectionAuth, rawTokenExchangeAuth, rawAggregation
rawConflictResolutionConfig, rawWorkloadToolConfig, rawToolOverride
rawCompositeTool, rawWorkflowStep, rawStepErrorHandling
rawElicitationResponse, rawOutputConfig, rawOutputProperty
Rewrote Load() to use strict unmarshalling:

decoder := yaml.NewDecoder(bytes.NewReader(data))
decoder.KnownFields(true) // Reject unknown fields
if err := decoder.Decode(&cfg); err != nil { ... }
Replaced transform* methods with process* post-processing:

processOutgoingAuth() - resolves environment variables
processBackendAuthStrategy() - validates and resolves env vars for auth strategies
processCompositeTool() - validates JSON Schema parameters
processWorkflowStep() - applies type inference and default timeouts
Changes to pkg/vmcp/config/config.go:
Added yaml: tags to all struct fields that were missing them (to support yaml.v3 strict mode):

CompositeToolConfig fields
WorkflowStepConfig fields
StepErrorHandling fields
ElicitationResponseConfig fields
AggregationConfig.ExcludeAllTools
WorkloadToolConfig.ExcludeAll
Test updates:
Updated test files to work with the new direct unmarshalling approach:

yaml_loader_transform_test.go - tests process* methods
crd_cli_roundtrip_test.go - tests direct marshal/unmarshal roundtrips
---------

Signed-off-by: Jeremy Drouillard <jeremy@stacklok.com>

59 of 63 new or added lines in 3 files covered. (93.65%)

28 existing lines in 4 files now uncovered.

28661 of 56819 relevant lines covered (50.44%)

59.53 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
91.94
6.69% pkg/vmcp/config/yaml_loader.go
3
69.73
-0.48% cmd/thv-operator/pkg/vmcpconfig/converter.go

Uncovered Existing Lines

Lines Coverage ∆ File
1
69.73
-0.48% cmd/thv-operator/pkg/vmcpconfig/converter.go
2
81.86
-0.28% pkg/vmcp/composer/workflow_engine.go
3
71.85
-1.11% pkg/ignore/processor.go
22
51.01
-1.93% pkg/workloads/manager.go
Jobs
ID Job ID Ran Files Coverage
1 20729476581.1 05 Jan 2026 09:23PM UTC 417
50.44
GitHub Action Run
Source Files on build 20729476581
  • Tree
  • List 417
  • Changed 7
  • Source Changed 4
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #20729476581
  • 5fd5ef60 on github
  • Prev Build on main (#20724399380)
  • Next Build on main (#20752186814)
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