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

stacklok / toolhive / 24771261351
66%

Build:
DEFAULT BRANCH: main
Ran 22 Apr 2026 09:42AM UTC
Jobs 1
Files 657
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

22 Apr 2026 09:36AM UTC coverage: 66.218% (-0.03%) from 66.251%
24771261351

push

github

web-flow
Mark local skill builds with an OCI descriptor annotation (#5000)

* Add local-build descriptor annotation for skills OCI store

Introduce a `dev.stacklok.toolhive.local-build` annotation that marks
tags in the shared local OCI store as produced by a local `Build`
rather than by an OCI pull. The marker lives on the descriptor entry
in `index.json`, not inside the manifest blob, so the artifact digest
is unchanged and nothing crosses the wire on push: oras-go resolves
the push reference by digest, which returns a plain descriptor and
strips descriptor annotations.

Adds `tagAsLocalBuild` (Tag + annotation) and `isLocalBuild` helpers.
Self-contained — no callers yet. Subsequent commits wire it into the
skill service so `ListBuilds` can filter out artifacts pulled into
the store by install or the content API only for caching.

Made-with: Cursor

* Hide pulled skill artifacts from local builds listing

Skills pulled into the shared OCI store by install or the content
API were tagged for caching and then surfaced by `ListBuilds`,
making every previewed or installed remote skill look like a local
build.

Wire the local-build descriptor annotation into the skill service:

- `Build` calls `tagAsLocalBuild` instead of `ociStore.Tag`, stamping
  the marker on the root-index descriptor entry in a single step.
- `ListBuilds` iterates `ociStore.ListTags` and filters by
  `isLocalBuild` before running the usual metadata enrichment, so
  pulled tags are skipped.
- `DeleteBuild` needs no change: removing the tag also drops its
  descriptor entry (and its annotation) from `index.json`.

OCI pulls (install and content) continue to tag the local store as
a cache, but `Registry.Pull` tags by digest — which resolves to a
plain descriptor in oras-go — so no annotation lands on the tag and
the cached artifact stays invisible to `ListBuilds`. Intent-documenting
comments at each pull site explain why the marker is deliberately
skipped there.

Made-with: Cursor

* Assert OCI p... (continued)

33 of 42 new or added lines in 4 files covered. (78.57%)

44 existing lines in 5 files now uncovered.

58605 of 88503 relevant lines covered (66.22%)

61.56 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
64.71
pkg/skills/skillsvc/local_build_marker.go
3
92.45
-0.74% pkg/skills/skillsvc/build.go

Coverage Regressions

Lines Coverage ∆ File
14
74.44
-5.19% pkg/client/config.go
14
20.11
-8.05% pkg/client/manager.go
11
69.23
-14.1% pkg/client/discovery.go
3
70.0
-3.33% pkg/state/local.go
2
93.94
-6.06% pkg/foreach/foreach.go
Jobs
ID Job ID Ran Files Coverage
1 24771261351.1 22 Apr 2026 09:42AM UTC 657
66.22
GitHub Action Run
Source Files on build 24771261351
  • Tree
  • List 657
  • Changed 12
  • Source Changed 3
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24771261351
  • c3a640b3 on github
  • Prev Build on main (#24765648370)
  • Next Build on main (#24772940226)
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