Skip to content

chore: add consolidated SBOM generation workflow - #765

Merged
michaeldcanady merged 2 commits into
mainfrom
chore/sbom-release-workflow
Sep 1, 2026
Merged

chore: add consolidated SBOM generation workflow#765
michaeldcanady merged 2 commits into
mainfrom
chore/sbom-release-workflow

Conversation

@michaeldcanady

Copy link
Copy Markdown
Owner

chore: add consolidated SBOM generation workflow

  • Single sbom.yml workflow replaces duplicate sbom-release.yml
  • Pinned syft version (v1.41.0) for supply-chain integrity
  • Uses GITHUB_TOKEN for release asset management
  • Idempotent: deletes existing SBOM asset before re-upload
  • Fixed shell syntax (no stray quoted string)
  • Runs on v* tag pushes only

- Single sbom.yml workflow replaces duplicate sbom-release.yml
- Pinned syft version (v1.41.0) for supply-chain integrity
- Uses gh-token GITHUB_TOKEN for release asset management
- Idempotent: deletes existing SBOM asset before re-upload
- Fixed shell syntax (no stray quoted string)
- Runs on v* tag pushes only
@michaeldcanady michaeldcanady added the no-issue-required Escape hatch: trivial chore PR that doesn't need a linked issue (branch-policy.yml) label Aug 31, 2026
@github-actions github-actions Bot added the type: devops Setting up of DevOps processes (e.g. GitHub Actions, Azure DevOps Pipelines, etc.) label Aug 31, 2026
Comment thread .github/workflows/sbom.yml Outdated
Comment thread .github/workflows/sbom.yml Outdated
Comment thread .github/workflows/sbom.yml Outdated

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes — the workflow as written will fail on first run and will also trip the repo's blocking zizmor gate.

  • Critical: $SYFT_VERSION is referenced in the "Install Syft" step but only defined in the next step's env: block — it expands empty, making the install URL /v/install.sh a 404. Move the env var up (job- or step-level) so both steps see it.
  • CI-gating: actions/checkout@v4 / actions/setup-go@v5 are mutable-tag refs, unlike the SHA-pinned actions/* used everywhere else in this repo. zizmor.yml runs blocking at informational severity on PRs and will flag unaudited, failing the merge. Pin to the same SHAs used in ci.yml.
  • Nit: the stray quoted string on the last line is still present (PR description claims it was removed); collapse that multi-line notice into one echo.

All three have inline comments with concrete fixes.

@github-actions

Copy link
Copy Markdown
Contributor

Review posted. Summary of the review:

Requesting changes — posted 3 inline comments + a top-level review on PR #765.

  • Critical bug: $SYFT_VERSION is only defined in the "Generate SBOM" step's env: block, but it's referenced in the earlier "Install Syft" step where it's empty → install URL becomes /v/install.sh (404). The workflow fails on first run.
  • CI-gating: actions/checkout@v4 / actions/setup-go@v5 aren't SHA-pinned like every other action in the repo; the blocking zizmor job (informational severity, PRs) will flag unaudited and fail the merge.
  • Nit: the stray trailing quoted string on line 93 is still present despite the PR description claiming it was fixed; suggested collapsing the multi-line notice into one echo.

Also noted (not commented): the PR description says it "replaces duplicate sbom-release.yml," but that file doesn't exist on main — a description inaccuracy only.

New%20session%20-%202026-08-31T23%3A46%3A20.017Z
opencode session  |  github run

Comment thread .github/workflows/sbom.yml Fixed
Comment thread .github/workflows/sbom.yml Fixed
Comment thread .github/workflows/sbom.yml Fixed
Comment thread .github/workflows/sbom.yml Fixed
Comment thread .github/workflows/sbom.yml Fixed
Resolve the issues that blocked PR #764: fix the stray quoted string in
the final run block, move the syft SYFT_VERSION env onto the install step
and drop its double-v, SHA-pin checkout and drop the unused setup-go step,
and replace the moving curl|sh syft install with a pinned release download
verified against its published checksum. Scope release-upload permissions
to the job and move RELEASE_ID into env to silence zizmor. The workflow now
passes zizmor with no findings.

Co-authored-by: opencode <opencode@local>
@michaeldcanady
michaeldcanady force-pushed the chore/sbom-release-workflow branch from a9885c9 to ed21ea6 Compare September 1, 2026 00:40
@michaeldcanady
michaeldcanady dismissed github-actions[bot]’s stale review September 1, 2026 00:47

All issues raised in this stale review (SYFT_VERSION install-step scoping + double-v, unpinned actions/checkout, unused setup-go step, and the stray trailing quoted-string line) have been fixed and verified in commit ed21ea6. CI (zizmor, branch-policy, etc.) is green on the current head.

@michaeldcanady
michaeldcanady merged commit 9a694cf into main Sep 1, 2026
23 of 24 checks passed
@michaeldcanady
michaeldcanady deleted the chore/sbom-release-workflow branch September 1, 2026 01:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-issue-required Escape hatch: trivial chore PR that doesn't need a linked issue (branch-policy.yml) type: devops Setting up of DevOps processes (e.g. GitHub Actions, Azure DevOps Pipelines, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants