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

stacklok / toolhive / 32241174145
70%

Build:
DEFAULT BRANCH: main
Ran 19 Aug 2026 10:15AM UTC
Jobs 1
Files 879
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

19 Aug 2026 10:08AM UTC coverage: 70.439% (+0.02%) from 70.424%
32241174145

push

github

web-flow
Honor all runtime_config fields over the workload API (#6214)

* Move RuntimeConfig copy/merge onto the type

The field-by-field copies of templates.RuntimeConfig rot as the struct
grows: they were complete when written, then RuntimeEnv and BuildWith
were added and each one silently stopped being carried. Clone and
WithOverrides put the copy/merge logic on the type itself, so the
enumeration of all four fields lives in one file next to the struct
declaration instead of being reimplemented at each call site. A field
can still be forgotten in Clone or WithOverrides when a new one is
added, but a guard test now fails the moment RuntimeConfig's field
count changes, forcing that update to happen.

WithOverrides (renamed from MergedWith, base.WithOverrides(override)
instead of a symmetric-sounding name that doesn't say which side wins)
starts from a copy of the base struct, so an unhandled future field
defaults to base-wins rather than a zero value. Clone starts the same
way. Both guard against a nil receiver instead of panicking.

GetDefaultRuntimeConfig now returns a value already detached from the
package-global RuntimeDefaults map (via Clone internally), retiring the
whole class of aliasing bugs at the source instead of requiring every
caller to remember to clone what they get back.

The build-constraint check (BuildWith is only supported for uvx builds)
moves into the templates package as RuntimeConfig.ValidateFor, next to
Validate and the defaults it needs. loadRuntimeConfig now runs every
runtime config it returns - override, config-file, and default fallback
alike - through ValidateFor, so the constraint can't be silently skipped
on one of the three paths the way a caller-side check could be forgotten
on a fourth.

Also rename the build-constraint rejection message from --build-with to
build_with. The check lives in pkg/ and is reachable from the REST API,
the TUI and the user config file, so naming a CLI flag misleads every
non-CLI caller.

Co-Auth... (continued)

129 of 141 new or added lines in 4 files covered. (91.49%)

11 existing lines in 4 files now uncovered.

85774 of 121770 relevant lines covered (70.44%)

99.19 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
80.36
1.41% pkg/api/v1/workload_service.go
4
96.67
-3.33% pkg/container/templates/runtime_config.go
3
30.47
-5.34% pkg/runner/protocol.go

Coverage Regressions

Lines Coverage ∆ File
6
76.15
-5.5% pkg/secrets/keyring/keyctl_linux.go
2
97.3
-1.38% pkg/api/v1/workload_types.go
2
88.24
-5.88% pkg/vmcp/backendregistry/registry.go
1
30.47
-5.34% pkg/runner/protocol.go
Jobs
ID Job ID Ran Files Coverage
1 32241174145.1 19 Aug 2026 10:15AM UTC 879
70.44
GitHub Action Run
Source Files on build 32241174145
  • Tree
  • List 879
  • Changed 12
  • Source Changed 6
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32241174145
  • 2320d778 on github
  • Prev Build on main (#32235296895)
  • Next Build on main (#32241985523)
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