Skip to content

ci: generate SBOMs and a CBOM as workflow artifacts - #2686

Draft
ryjones wants to merge 1 commit into
LFDT-Panurus:mainfrom
ryjones:create-boms
Draft

ryjones wants to merge 1 commit into
LFDT-Panurus:mainfrom
ryjones:create-boms

Conversation

@ryjones

@ryjones ryjones commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Add a workflow with two jobs. The sbom job writes one CycloneDX software bill of materials per Go module with cyclonedx-gomod, including the detected license of every dependency. The cbom job runs CBOMkit's source scanner over the Go code and writes a CycloneDX cryptography bill of materials per module plus a consolidated one. Both upload their output as artifacts and write a job summary.

It runs on pushes to main, on v* tags, on pull requests that change a go.mod, a go.sum or the workflow itself, and on demand.

cmd/node and cmd/tokengen require the EVM network module at a placeholder version without replacing it, so their module graph does not resolve on its own. For such modules the sbom job points in-repo modules at the checkout, in its own copy of go.mod, and says so in a warning and in the summary.

The CBOM covers only what CBOMkit's Go rules recognize, which is the standard library and three golang.org/x/crypto packages. The header of the workflow file says what is left out.

Assisted-by: anthropic:claude-fable-5-1

Add a workflow with two jobs. The sbom job writes one CycloneDX
software bill of materials per Go module with cyclonedx-gomod,
including the detected license of every dependency. The cbom job runs
CBOMkit's source scanner over the Go code and writes a CycloneDX
cryptography bill of materials per module plus a consolidated one.
Both upload their output as artifacts and write a job summary.

It runs on pushes to main, on v* tags, on pull requests that change
a go.mod, a go.sum or the workflow itself, and on demand.

cmd/node and cmd/tokengen require the EVM network module at a
placeholder version without replacing it, so their module graph does
not resolve on its own. For such modules the sbom job points in-repo
modules at the checkout, in its own copy of go.mod, and says so in a
warning and in the summary.

The CBOM covers only what CBOMkit's Go rules recognize, which is the
standard library and three golang.org/x/crypto packages. The header
of the workflow file says what is left out.

Assisted-by: anthropic:claude-fable-5-1
Signed-off-by: Ry Jones <ry@linux.com>
@ryjones
ryjones requested review from a team November 6, 2026 16:37

This branch has not been deployed

No deployments
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