Skip to content

build(deps): add semantic-release devDependency; resolve via npm ci in release workflow#20

Merged
audunru merged 2 commits into
mainfrom
ci/deterministic-npx
May 29, 2026
Merged

build(deps): add semantic-release devDependency; resolve via npm ci in release workflow#20
audunru merged 2 commits into
mainfrom
ci/deterministic-npx

Conversation

@audunru
Copy link
Copy Markdown
Owner

@audunru audunru commented May 29, 2026

Summary

  • Adds package.json with semantic-release as a devDependency so the release workflow resolves it from a lockfile (via npm ci) instead of fetching an unpinned version from the registry with npx --yes -p
  • Adds .npmrc with min-release-age=7 to enforce a 7-day cooldown on npm packages
  • Updates .github/workflows/release.yml to use npm ci + npx semantic-release for deterministic installs
  • Updates .github/dependabot.yml to add the npm ecosystem with a 7-day cooldown

Why

Using npx --yes -p semantic-release fetches whatever version is latest at run time, making releases non-deterministic and vulnerable to supply-chain issues. Pinning via a lockfile ensures reproducible builds and allows Dependabot to manage upgrades.

@audunru audunru force-pushed the ci/deterministic-npx branch from 23e1b19 to 17e67c7 Compare May 29, 2026 15:39
@audunru audunru merged commit 0fac4e3 into main May 29, 2026
6 checks passed
@audunru audunru deleted the ci/deterministic-npx branch May 29, 2026 16:18
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