Skip to content

add cyclonedx sbom from lock or release - #3

Merged
timkpaine merged 3 commits into
mainfrom
tkp/sbom
Aug 28, 2026
Merged

add cyclonedx sbom from lock or release#3
timkpaine merged 3 commits into
mainfrom
tkp/sbom

Conversation

@timkpaine

Copy link
Copy Markdown
Member

A software bill of materials is a direct projection of a lock — the lock already pins every conda package with its exact version, build, and content hash, so the SBOM is a faithful, lossless transform.

nepenthe sbom --lock app.lock                       # from a local lock
nepenthe sbom --env ccrt --registry file:///srv/reg # from a published release
nepenthe sbom --lock app.lock -o app.cdx.json       # to a file
  • sbom module: to_cyclonedx(&LockFile) -> CycloneDX 1.5 JSON. One component per distinct conda package (deduped across environments/platforms), each with a conda purl (pkg:conda/<name>@<version>?build=&subdir=), a SHA-256 hash, and its license — all read straight from the lock.
  • Deterministic: components are keyed and sorted by purl, and no generation timestamp is emitted, so the same lock always produces byte-identical output (a useful property to attest, and it makes the SBOM diffable).
  • CLI: mirrors the manifest command's lock-or-registry resolution; writes to --output or stdout.

@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown

Test Results

191 tests  +2   191 ✅ +2   4s ⏱️ -6s
  5 suites ±0     0 💤 ±0 
  2 files   ±0     0 ❌ ±0 

Results for commit 825c3f1. ± Comparison against base commit c1630ed.

♻️ This comment has been updated with latest results.

Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
@timkpaine
timkpaine marked this pull request as ready for review August 28, 2026 21:28
@timkpaine
timkpaine merged commit 613e7dc into main Aug 28, 2026
5 checks passed
@timkpaine
timkpaine deleted the tkp/sbom branch August 28, 2026 21:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant