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

stacklok / toolhive / 26116221449
66%

Build:
DEFAULT BRANCH: main
Ran 19 May 2026 06:18PM UTC
Jobs 1
Files 730
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 May 2026 06:12PM UTC coverage: 65.469% (-0.005%) from 65.474%
26116221449

push

github

web-flow
Use shared toolhive-core redis client for session storage (#5324)

pkg/transport/session carried its own Redis connection layer (RedisConfig,
SentinelConfig, RedisTLSConfig, validateRedisConfig, buildRedisClient,
buildRedisTLSConfig, timeout defaults). The auth-server migration in
#5318 demonstrated the pattern for replacing that duplicated code with
toolhive-core/redis; vmcp session storage and the proxy-runner session
storage are the remaining consumers in this repo.

Replace the local RedisConfig/SentinelConfig/RedisTLSConfig types and the
validate/build helpers with tcredis.Config and tcredis.NewClient.
NewRedisStorage and NewRedisSessionDataStorage now take
(ctx, tcredis.Config, keyPrefix, ttl); the constructors keep the
session-specific invariants (key prefix required, must end with ':',
ttl > 0) and delegate connection-mode validation, timeout defaults, TLS
plumbing, and Ping verification to the shared package.

NewManagerWithRedis grows the same keyPrefix parameter so the wrapper
matches the underlying storage signature. The vmcp server and proxy
runner call sites build tcredis.Config in place (Addr, Password, DB) and
pass keyPrefix separately; RedisPasswordEnvVar stays in the session
package because pkg/runner reads it.

Tests: TestValidateRedisConfig is removed (topology checks now live in
tcredis); TestNewRedisStorageInvariants replaces it with the
session-specific cases (key-prefix and ttl). TestNewRedisStorageACLAuth
keeps its coverage but uses the new signature. The "invalid TLS CA cert"
manager subtest is dropped (now exercising tcredis code).

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

21 of 32 new or added lines in 5 files covered. (65.63%)

3 existing lines in 2 files now uncovered.

64603 of 98677 relevant lines covered (65.47%)

61.86 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
36.49
0.05% pkg/runner/runner.go
5
77.7
0.11% pkg/vmcp/server/server.go
1
80.0
1.69% pkg/transport/session/session_data_storage_redis.go

Coverage Regressions

Lines Coverage ∆ File
2
93.94
-6.06% pkg/foreach/foreach.go
1
80.0
1.69% pkg/transport/session/session_data_storage_redis.go
Jobs
ID Job ID Ran Files Coverage
1 26116221449.1 19 May 2026 06:18PM UTC 730
65.47
GitHub Action Run
Source Files on build 26116221449
  • Tree
  • List 730
  • Changed 7
  • Source Changed 5
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26116221449
  • a13e5ea6 on github
  • Prev Build on main (#26105952631)
  • Next Build on main (#26119203047)
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