Skip to content

chore: match Renovate's minimum release age to pnpm's - #356

Merged
abstrakt8 merged 1 commit into
mainfrom
chore/align-min-release-age
Sep 25, 2026
Merged

abstrakt8 merged 1 commit into
mainfrom
chore/align-min-release-age

Conversation

@abstrakt8

Copy link
Copy Markdown
Contributor

Summary

Since #349 moved the repo to pnpm 12, pnpm install refuses lockfile entries published less than a day ago (minimumReleaseAge, which defaults to 1440 minutes from pnpm 11). Renovate doesn't know about that window, so it can open or update a PR with a release pnpm won't install yet. That is why every check on #348 currently fails at install with ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION: vitest 5.0.2 and three @vitest/* packages were published about five hours before Renovate pushed.

The playcanvas rule is hit hardest. It sets minimumReleaseAge: "0" and prCreation: "immediate", so every engine bump would fail install for its first day.

Change

  • pnpm-workspace.yaml: state minimumReleaseAge: 1440 explicitly instead of relying on pnpm's default, and exempt playcanvas through minimumReleaseAgeExclude so engine updates still install as soon as they are released.
  • renovate.json: give the grouped npm rule the same one-day minimumReleaseAge, so Renovate only proposes versions pnpm will install. The later playcanvas rule still overrides it with "0", and its new description points at the pnpm exemption.

Verification

  • pnpm install --frozen-lockfile passes the supply-chain check with the new settings. The lockfile is unchanged.
  • To check the exemption, I temporarily raised minimumReleaseAge to 381 days, past the age of the locked playcanvas@2.11.8. With no exclusion, 275 entries failed. Excluding a non-existent package still gave 275. Excluding playcanvas gave 274.
  • renovate-config-validator --strict (Renovate 44.111.0) accepts renovate.json.

#348 itself needs no changes. Locally, with vitest and @vitest/coverage-v8 on 5.0.1 (old enough for the policy) and everything else from Renovate's branch, build, format, lint and tests match main. Re-running its checks once vitest 5.0.2 is a day old (after 09:00 UTC on 2026-09-26) should get it past install.

No changeset: this only changes repository config.

pnpm 11+ refuses to install versions published less than a day ago, but
Renovate can propose them sooner, so its PRs fail at install until the
release ages. State the one-day window explicitly in pnpm-workspace.yaml,
give the grouped npm Renovate rule the same window, and exempt playcanvas
in pnpm so engine updates still install as soon as they are released.
@changeset-bot

changeset-bot Bot commented Sep 25, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 0ce3764

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@pkg-pr-new

pkg-pr-new Bot commented Sep 25, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@playcanvas/blocks@356
npm i https://pkg.pr.new/@playcanvas/react@356

commit: 0ce3764

@abstrakt8 abstrakt8 self-assigned this Sep 25, 2026
@abstrakt8
abstrakt8 merged commit f7b8d1b into main Sep 25, 2026
6 checks passed
@abstrakt8
abstrakt8 deleted the chore/align-min-release-age branch September 25, 2026 15:01
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