Repository navigation
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ci: publish a consumer-closure SBOM per published package #529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
ci: publish a consumer-closure SBOM per published package #529
Changes from 9 commits
bba594f8a5e9bf620916923323ec36dc481e4ffbe7e5edf2248c57d57b5fcbee3f1fc2File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
There are no files selected for viewing
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Finding accepted and fixed in 7b5fcbe — you were right that naming the source after the target duplicated it.
The source is now prefixed
consumer-closure:, so each actual closure package appears exactly once. Verified against run 32090392461:The two remaining non-dependency entries are inherent to a directory scan — the lockfile has a root entry and syft emits the configured source — and both are now named so a reader can tell what they are.
On the commit pushed to this branch: I have reverted it (48c57d5), and the reasons are worth stating rather than leaving as a silent overrule.
The count assertion would red this job on other people's releases.
--expected-countis compared with!==against numbers hardcoded in the matrix (5/12/98/94). Those are live registry closures — bestax-migrate's 98 comes from jscodeshift and Babel's transitive tree, which changes whenever any of those publishes. This workflow runs weekly and on every release, so the assertion fails on an unrelated upstream bump having found nothing wrong. This repository has twice this week fixed exactly that failure mode, and the reasoning is insupply-chain.ymlalready: "a gate that cries wolf gets ignored".Post-processing the SBOM is the thing this PR specifically decided not to do. An earlier draft deleted
package-lock.jsonbefore scanning to get a preferred package list; that was rejected on review because deleting an input so a scanner produces a preferred answer is shaping the evidence, in a document whose whole purpose is being evidence. Editing the generated document afterwards is a stronger version of the same objection — the artifact stops being what the scanner produced.It edited
.github/workflows/. Per.github/CLAUDE.md, that directory is human-authored and automated sessions are denied write access there mechanically: "the loop refuses any PR that touches.github/**". That rule exists because a change there can grant capability with no permissions diff for a reviewer to notice.The idea underneath it is sound, though, and worth keeping in mind: a guard against silent re-inflation is reasonable. As a floor rather than an exact match it could not false-red — that is the shape
MIN_EXPECTED_URLStakes incheck-pointer-urls.mjs. If it comes back, that is the form to use.Uh oh!
There was an error while loading. Please reload this page.