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

stacklok / toolhive / 32346960123
70%

Build:
DEFAULT BRANCH: main
Ran 20 Aug 2026 08:10AM UTC
Jobs 1
Files 883
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

20 Aug 2026 08:03AM UTC coverage: 69.27% (-1.2%) from 70.496%
32346960123

push

github

web-flow
Serialize skill sync and upgrade under the lock (#6352)

* Serialize skill sync and upgrade under the lock

A stale lock/DB snapshot can resurrect uninstalls, and default
sync must expand to newly detected clients like install does.

Signed-off-by: Samuele Verzi <samu@stacklok.com>

* Serialize project skill mutations under a transaction lock

Replace context lock reentrancy with a project-root mutex held
through install bookkeeping and dependency materialization.

Signed-off-by: Samuele Verzi <samu@stacklok.com>

* Quiet skills lint after project transaction refactor

Fix snapshot file-copy checks and annotate the transactional
install helpers that exceed the gocyclo budget.

Signed-off-by: Samuele Verzi <samu@stacklok.com>

* Snapshot skill trees in memory with path guards

Replace temp-dir copies with in-memory snapshots and reject
escaping relative paths to clear CodeQL path-injection alerts.

Signed-off-by: Samuele Verzi <samu@stacklok.com>

* Join skills rollback errors and bound project locks

Extraction paths snapshot every target through os.Root, remove
fresh trees and restore prior content on any failure, surface all
compensation errors, and stripe the project transaction locks.

Signed-off-by: Samuele Verzi <samu@stacklok.com>

* Add failure-path tests for skills lock coverage

Cover snapshot/restore units, rollback storage and lock-snapshot
failures, adopt compensation, group removal, and corrupt-lock
sync/upgrade entry points flagged by patch coverage.

Signed-off-by: Samuele Verzi <samu@stacklok.com>

---------

Signed-off-by: Samuele Verzi <samu@stacklok.com>

388 of 505 new or added lines in 11 files covered. (76.83%)

56 existing lines in 35 files now uncovered.

73579 of 106221 relevant lines covered (69.27%)

87.95 hits per line

Uncovered Changes

Lines Coverage ∆ File
38
77.64
-13.55% pkg/skills/skillsvc/install.go
29
70.71
pkg/skills/skillsvc/file_snapshot.go
23
78.63
4.03% pkg/skills/skillsvc/sync.go
11
81.12
-5.81% pkg/skills/skillsvc/install_oci.go
6
86.03
-4.04% pkg/skills/skillsvc/install_extraction.go
5
72.78
4.49% pkg/skills/skillsvc/install_git.go
4
74.63
0.35% pkg/skills/skillsvc/upgrade.go
1
85.42
-3.47% pkg/skills/skillsvc/lock.go

Coverage Regressions

Lines Coverage ∆ File
6
59.0
-2.48% pkg/workloads/manager.go
4
78.26
-3.49% pkg/transport/proxy/httpsse/http_proxy.go
3
85.25
-2.01% cmd/thv-operator/controllers/mcpremoteproxy_deployment.go
3
53.17
-1.79% pkg/container/docker/sdk/client_unix.go
3
61.43
-7.8% pkg/state/runconfig.go
3
87.77
-0.97% pkg/transport/proxy/transparent/transparent_proxy.go
2
68.8
-3.05% pkg/ignore/processor.go
2
71.52
-4.5% pkg/plugins/adapters/codex.go
2
41.29
-1.44% pkg/runner/runner.go
2
77.64
-13.55% pkg/skills/skillsvc/install.go
2
65.86
-3.37% pkg/workloads/statuses/file_status.go
1
67.59
-2.04% cmd/thv-operator/controllers/mcpserver_controller.go
1
72.53
-3.27% cmd/thv-operator/controllers/virtualmcpserver_vmcpconfig.go
1
34.58
-3.13% cmd/thv-operator/pkg/registryapi/manager.go
1
36.84
-1.64% pkg/api/v1/secrets.go
1
93.22
-2.16% pkg/auth/oauth/non_caching_refresher.go
1
89.34
-0.76% pkg/auth/tokensource/tokensource.go
1
72.22
-5.56% pkg/lockfile/cleanup.go
1
86.05
-0.23% pkg/plugins/validator.go
1
81.36
-1.64% pkg/registry/auth/login.go
1
53.72
-2.53% pkg/registry/provider_api.go
1
14.55
-1.6% pkg/runner/env.go
1
72.78
4.49% pkg/skills/skillsvc/install_git.go
1
85.42
-3.47% pkg/skills/skillsvc/lock.go
1
51.19
1.3% pkg/transport/stdio.go
1
75.0
-4.73% pkg/usagemetrics/client.go
1
89.23
-1.54% pkg/vmcp/aggregator/default_aggregator.go
1
80.12
-1.63% pkg/vmcp/client/client.go
1
81.07
-1.41% pkg/vmcp/composer/workflow_engine.go
1
38.53
0.58% pkg/vmcp/config/zz_generated.deepcopy.go
1
68.57
-0.36% pkg/vmcp/internal/backendtelemetry/backendtelemetry.go
1
86.73
-2.34% pkg/vmcp/server/adapter/capability_adapter.go
1
97.32
-0.79% pkg/vmcp/server/modern_envelope.go
1
83.33
-4.31% pkg/vmcp/server/status_reporting.go
1
96.67
-1.79% pkg/webhook/config.go
Jobs
ID Job ID Ran Files Coverage
1 32346960123.1 20 Aug 2026 08:10AM UTC 883
69.27
GitHub Action Run
Source Files on build 32346960123
  • Tree
  • List 883
  • Changed 879
  • Source Changed 11
  • Coverage Changed 879
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32346960123
  • b6aa0471 on github
  • Prev Build on main (#32309543269)
  • Next Build on main (#32350857717)
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