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

erlef / mix_sbom / 37905107720
70%

Build:
DEFAULT BRANCH: main
Ran 09 Oct 2026 08:28AM UTC
Jobs 4
Files 32
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

09 Oct 2026 08:27AM UTC coverage: 69.635% (+1.0%) from 68.598%
37905107720

push

github

web-flow
Add vulnerabilities from OSV.dev (#160)

* Add vulnerabilities from OSV.dev

Each SCM returns an OSV.dev query for its dependencies (new optional
`osv_query/2` callback):

- Hex: package name and locked version (hex.pm only)
- Git: locked commit
- System: Elixir and OTP as GIT packages; the full OTP version is read
  from OTP_VERSION. Skipped inside Burrito, where system app versions
  are not read.

Identical queries are deduplicated and sent with `querybatch` in
batches of 1000 using `:httpc`. If OSV.dev is unreachable a warning
is logged and the SBoM is generated without vulnerabilities.

Vulnerabilities are attached for schema 1.4+ with the OSV id, a link
to osv.dev and the affected components. XML decoding was extended as
well, so an unchanged XML SBoM is still rewritten when new
vulnerabilities appear. Enabled by default; disable with
`--no-vulnerabilities`, the `vulnerabilities` action input or
`vulnerabilities: false`.

Tests that don't cover this feature disable it, following #147.

Known limitations:
- `querybatch` only returns ids, so no description or severity.
- An OTP vulnerability is reported for every OTP component, since
  OSV.dev matches the OTP release as a whole.

Closes #155

* Fetch vulnerability details and cover them in the property test

querybatch only returns ids, so the details of every found vulnerability
are fetched once per id and in parallel from /v1/vulns/{id}. A
vulnerability whose details can't be fetched keeps its id and logs a
warning.

The OSV record is mapped to description (summary), detail (details),
references (aliases), advisories (ADVISORY references), published and
updated (modified).

The "generates valid SBOM files in each format" property test now
also generates vulnerabilities.

* Query OSV with full git tag names for Elixir and OTP

83 of 103 new or added lines in 9 files covered. (80.58%)

1 existing line in 1 file now uncovered.

954 of 1370 relevant lines covered (69.64%)

2338.17 hits per line

Uncovered Changes

Lines Coverage ∆ File
15
54.55
lib/sbom/osv.ex
2
90.85
-0.13% lib/sbom/cyclonedx.ex
2
70.49
-0.66% lib/sbom/scm/system.ex
1
88.89
-4.86% lib/sbom/scm/mix/scm/git.ex

Coverage Regressions

Lines Coverage ∆ File
1
70.49
-0.66% lib/sbom/scm/system.ex
Jobs
ID Job ID Ran Files Coverage
1 lowest - 37905107720.1 09 Oct 2026 08:28AM UTC 32
68.54
GitHub Action Run
2 latest - 37905107720.2 09 Oct 2026 08:28AM UTC 32
68.76
GitHub Action Run
3 property - 37905107720.3 09 Oct 2026 08:29AM UTC 32
38.47
GitHub Action Run
4 main - 37905107720.4 09 Oct 2026 08:29AM UTC 32
68.76
GitHub Action Run
Source Files on build 37905107720
  • Tree
  • List 32
  • Changed 16
  • Source Changed 9
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #37905107720
  • 92ad5997 on github
  • Prev Build on main (#37787135187)
  • Next Build on main (#38540944296)
  • Delete
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