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

stacklok / toolhive / 22103270324
62%

Build:
DEFAULT BRANCH: main
Ran 17 Feb 2026 03:02PM UTC
Jobs 1
Files 538
Run time 1min
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

17 Feb 2026 02:53PM UTC coverage: 62.112% (+0.08%) from 62.031%
22103270324

push

github

web-flow
Add skill installer and extractor for OCI artifact extraction (#3835)

* Add skill installer and extractor for OCI artifact extraction

Implement the skill installer that extracts OCI artifact layers to
client skill directories with security validation and managed/unmanaged
detection.

Key changes:
- Add Extract() and Remove() in pkg/skills/installer.go for filesystem
  operations with defense-in-depth security (path traversal prevention,
  symlink validation, permission sanitization, size/count limits)
- Add PathResolver interface to decouple pkg/skills from pkg/client
- Update skillsvc with functional options pattern (WithPathResolver)
  and full Install/Uninstall logic including upgrade detection and
  file cleanup for all clients on uninstall
- Wire PathResolver via clientPathAdapter in API server
- Expose Client and Force fields in install API request

Closes #3649

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

* Address review feedback for skill installer

- Add symlink protection to Remove using Lstat/EvalSymlinks
- Fix cross-platform root detection (filepath.Dir/VolumeName)
- Make Uninstall cleanup best-effort with errors.Join
- Roll back extraction on store Create/Update failure
- Introduce Installer interface for DI and testability

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

---------

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

280 of 360 new or added lines in 6 files covered. (77.78%)

2 existing lines in 1 file now uncovered.

44877 of 72252 relevant lines covered (62.11%)

77.83 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
16
15.76
-0.67% pkg/api/server.go
23
88.14
-11.86% pkg/skills/skillsvc/skillsvc.go
41
68.46
pkg/skills/installer.go

Uncovered Existing Lines

Lines Coverage ∆ File
2
94.67
-1.33% pkg/vmcp/composer/dag_executor.go
Jobs
ID Job ID Ran Files Coverage
1 22103270324.1 17 Feb 2026 03:02PM UTC 538
62.11
GitHub Action Run
Source Files on build 22103270324
  • Tree
  • List 538
  • Changed 8
  • Source Changed 6
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #22103270324
  • 262e8c5e on github
  • Prev Build on main (#22095898553)
  • Next Build on main (#22103400542)
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