Uh oh!
There was an error while loading. Please reload this page.
publish actions-toolkit with shrinkwrapped dependencies - #1144
Conversation
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
thaJeztah
commented
May 26, 2026
crazy-max
commented
May 26, 2026
crazy-max
commented
May 26, 2026
After thinking this through more, I'm not sure publishing an
For action repositories, the better boundary is that each action repo owns its full dependency graph through its committed lockfile and immutable install, then bundles the final action into The concern that triggered this is still valid for The stronger long-term fix for Given that, I put this PR back to draft and handle the |


This change hardens the published
@docker/actions-toolkitpackage by making each release include an npm shrinkwrap for its production dependency tree.The publish workflow now generates a production-only npm lockfile with lifecycle scripts disabled, converts it to
npm-shrinkwrap.json, and publishes with provenance as before. The package file allowlist now includesnpm-shrinkwrap.jsonso the generated shrinkwrap is shipped in the npm package.This addresses the supply-chain concern raised in docker/github-builder#216 (review). Exact npm package versions are immutable, but publishing a shrinkwrap also pins the transitive dependency resolution that consumers get when they install
@docker/actions-toolkit.More info: https://docs.npmjs.com/cli/v11/configuring-npm/npm-shrinkwrap-json