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

mindersec / minder / 43513446151
68%

Build:
DEFAULT BRANCH: main
Ran 13 Nov 2026 09:57PM UTC
Jobs 1
Files 362
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

13 Nov 2026 09:45PM UTC coverage: 67.457% (+0.04%) from 67.413%
43513446151

push

github

web-flow
fix(artifact): scope DockerHub/Quay ingestion to the entity's own tag (#7131)

* Scope OCI artifact ingestion to the entity's tag

A DockerHub/Quay artifact entity is a single repo:tag, but the artifact
ingester listed and evaluated every tag in the repository, repeating
that work for each registered tag. It now evaluates only the version
the entity's own tag points to, resolving its digest and creation time
from the registry at evaluation time, and records that digest on the
checkpoint.

A tag that doesn't match the rule's tags or tag_regex now skips the
rule silently. Other filter rejections, such as an image older than
the retention period, still fail the evaluation. GHCR packages and
entities still carrying a pre-repo:tag "repo@digest" identity keep the
repository-wide path. The public artifact API output is unchanged.

Known limitation: a rule listing several tags (tags: [a, b]) no longer
matches DockerHub/Quay entities, since each carries one tag; tag_regex
covers that case. Cross-tag lookup is left out of scope.

Fixes #7089

* Address review feedback on tag-scoped ingestion

Move repo:tag detection into the provider. OCITagVersionProvider gains
ArtifactTag, implemented next to NewArtifactProperties so the upstream
ID format and its parser live in one place. A round-trip test catches
format drift instead of ingestion silently falling back to the
repository-wide path.

Add ErrArtifactTagNotFound to pkg/providers/v1 and return it (wrapped)
from GetArtifactVersion for a deleted tag, so the ingester checks it
with errors.Is and no longer imports the oci provider package. The
exported IsNotFound helper is removed.

Log at info level when a multi-tag rule (tags: [a, b]) skips a
single-tag entity, pointing to tag_regex, so the lost coverage is
discoverable. It remains a silent skip.

Document why a deleted tag fails every evaluation rather than being
skipped, with #7090 as the follow-up. Drop the stale tags param and
TODO(#7089) from the registration ... (continued)

110 of 126 new or added lines in 4 files covered. (87.3%)

24269 of 35977 relevant lines covered (67.46%)

59.45 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
73.21
0.62% internal/providers/oci/oci.go
6
72.48
2.84% internal/engine/ingester/artifact/artifact.go
Jobs
ID Job ID Ran Files Coverage
1 43513446151.1 13 Nov 2026 09:57PM UTC 362
67.46
GitHub Action Run
Source Files on build 43513446151
  • Tree
  • List 362
  • Changed 8
  • Source Changed 7
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #43513446151
  • 014ae9fe on github
  • Prev Build on main (#43495573776)
  • Next Build on main (#43513631601)
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