ci(deps): bump the github-actions group across 1 directory with 4 updates#798
ci(deps): bump the github-actions group across 1 directory with 4 updates#798dependabot[bot] wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| persist-credentials: false | ||
| # Pin to v5 — v6 uses pnpm v11 internally which mutates the lockfile | ||
| # https://github.com/pnpm/action-setup/issues/228 | ||
| - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 | ||
| - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 | ||
| - uses: pnpm/action-setup@903f9c1a6ebcba6cf41d87230be49611ac97822e # v6.0.3 | ||
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 |
There was a problem hiding this comment.
🔴 The bump of pnpm/action-setup from v5.0.0 to v6.0.3 directly contradicts the explicit # Pin to v5 — v6 uses pnpm v11 internally which mutates the lockfile comment (referencing pnpm/action-setup#228) that sits immediately above each of the 4 occurrences (ci.yml lines 31, 62, 161 and release.yml line 75). v6.0.3 ships pnpm v11.0.0-rc.5 (a release candidate), and the lint job's Verify lockfile integrity step (git diff --exit-code pnpm-lock.yaml) — which was added precisely to catch this — will fail if pnpm 11 mutates the lockfile generated by the pinned packageManager: pnpm@10.33.0. Either revert this dependency to v5 (and add a Dependabot ignore for the v6 major), or, if the upgrade is intentional and verified, remove the now-misleading "Pin to v5" comments and confirm the lockfile-integrity check still passes.
Extended reasoning...
What the bug is
The PR upgrades pnpm/action-setup from v5.0.0 to v6.0.3 in 4 places, but leaves intact the explicit pinning guard immediately above each occurrence:
# Pin to v5 — v6 uses pnpm v11 internally which mutates the lockfile
# https://github.com/pnpm/action-setup/issues/228
- uses: pnpm/action-setup@903f9c1a6ebcba6cf41d87230be49611ac97822e # v6.0.3This is a self-contradicting state: the comment tells future contributors not to bump to v6 because of a known lockfile-mutation issue, yet the very next line is now pinned to v6. The four affected locations are:
.github/workflows/ci.ymlline 31 (test-integration job).github/workflows/ci.ymlline 62 (test-e2e job).github/workflows/ci.ymlline 161 (lint job).github/workflows/release.ymlline 75 (release-js-sdk job)
Why this is risky in this repo specifically
The lint job in ci.yml has a hard guard that was added in the same change that introduced the Pin to v5 comments:
- name: Verify lockfile integrity
run: |
git diff --exit-code pnpm-lock.yaml || {
echo "❌ Error: pnpm-lock.yaml was modified during install"
exit 1
}The release workflow has the same guard. package.json pins packageManager: pnpm@10.33.0 (top-level, not devEngines.packageManager). The pnpm/action-setup v6.0.1 release notes explicitly state:
pnpm-lock.yamlwill not be saved with two documents unless thepackageManageris set viadevEngines.packageManager.
So the v6.0.1 fix is conditional on a devEngines.packageManager configuration that this repo does not use. The repo's configuration is precisely the layout that originally tripped issue #228. Whether the v6 self-update path still leaves the lockfile clean for top-level packageManager users is unverified by this PR.
Step-by-step proof of impact
- CI starts the
lintjob on a checkout wherepnpm-lock.yamlwas generated by pnpm v10.33.0. pnpm/action-setup@v6.0.3runs. Per the action's release notes, it bootstraps pnpm v11 (specifically v11.0.0-rc.5, a release candidate) and may then self-update.pnpm install --frozen-lockfileruns under pnpm 11. If pnpm 11 rewritespnpm-lock.yaml(lockfile format, internal sort order, integrity hashes, or the dual-document layout from chore(deps-dev): bump @babel/preset-typescript from 7.24.1 to 7.24.7 #228) the file becomes dirty in the working tree.- The next step runs
git diff --exit-code pnpm-lock.yaml. If the file changed, exit code is non-zero and the job fails with "❌ Error: pnpm-lock.yaml was modified during install". - Because
all-tests-passedaggregatesneeds: [test-e2e, test-integration, lint]withif: contains(needs.*.result, 'failure'), the entire CI gate fails.
Even in the optimistic case where v6.0.3 happens not to mutate the lockfile in this configuration, point #3 introduces a release candidate (pnpm v11.0.0-rc.5) into the release pipeline — a stability regression for tooling that publishes to npm.
Why the existing code doesn't prevent it
The Pin to v5 comment is documentation, not enforcement. Dependabot's group bump (github-actions) ignores comments entirely and will keep producing this PR until either (a) the dependency is reverted and added to .github/dependabot.yml ignore rules, or (b) the comment is removed and the bump is accepted intentionally.
How to fix
Two acceptable resolutions:
- Revert the bump. Restore
pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0in all 4 locations and add an ignore for the v6 major in.github/dependabot.yml:- dependency-name: "pnpm/action-setup" update-types: ["version-update:semver-major"]
- Accept the bump only after verification. Run the
lintjob locally / in a test branch with v6.0.3, confirmgit diff --exit-code pnpm-lock.yamlstill passes, then delete the "Pin to v5" comments in all 4 locations so they don't mislead future maintainers — and ideally hold until pnpm v11 has a stable release rather than trackingv11.0.0-rc.5.
The current PR does neither, leaving the workflow in a state where the inline guidance directly contradicts the pinned version.
…ates Bumps the github-actions group with 4 updates in the / directory: [pnpm/action-setup](https://github.com/pnpm/action-setup), [actions/setup-node](https://github.com/actions/setup-node), [github/codeql-action](https://github.com/github/codeql-action) and [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action). Updates `pnpm/action-setup` from 5.0.0 to 6.0.4 - [Release notes](https://github.com/pnpm/action-setup/releases) - [Commits](pnpm/action-setup@fc06bc1...26f6d4f) Updates `actions/setup-node` from 6.3.0 to 6.4.0 - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@53b8394...48b55a0) Updates `github/codeql-action` from 4.35.1 to 4.35.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@c10b806...e46ed2c) Updates `slackapi/slack-github-action` from 3.0.1 to 3.0.3 - [Release notes](https://github.com/slackapi/slack-github-action/releases) - [Changelog](https://github.com/slackapi/slack-github-action/blob/main/CHANGELOG.md) - [Commits](slackapi/slack-github-action@af78098...45a88b9) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: 6.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.35.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: pnpm/action-setup dependency-version: 6.0.3 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: slackapi/slack-github-action dependency-version: 3.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com>
060048b to
81c440a
Compare
Bumps the github-actions group with 4 updates in the / directory: pnpm/action-setup, actions/setup-node, github/codeql-action and slackapi/slack-github-action.
Updates
pnpm/action-setupfrom 5.0.0 to 6.0.4Release notes
Sourced from pnpm/action-setup's releases.
Commits
26f6d4ffix: use npm co-located with the action node binary (#239)903f9c1fix: update pnpm to 11.0.0-rc.5bdf0af2test: add strict version-match jobs to reproduce #225 / #22771c9247fix: pnpm self-update binary shadowed by bootstrap on PATH (#230)078e9d4fix: update pnpm to 11.0.0-rc.208c4be7docs(README): update action-setup version5798914chore: update .gitignoreddffd66fix: remove accidentally committed fileb43f991fix: update pnpm to 11.0.0-rc.03852509README.md: bring versions up-to-date (#222)Updates
actions/setup-nodefrom 6.3.0 to 6.4.0Release notes
Sourced from actions/setup-node's releases.
Commits
48b55a0Update Node.js versions in versions.yml and bump package to v6.4.0 (#1533)ab72c7eUpgrade@actionsdependencies (#1525)Updates
github/codeql-actionfrom 4.35.1 to 4.35.3Release notes
Sourced from github/codeql-action's releases.
Changelog
Sourced from github/codeql-action's changelog.
... (truncated)
Commits
e46ed2cMerge pull request #3867 from github/update-v4.35.3-8c6e48dbeb73d1d1Add changelog entry for #385324e0bb0Reorder changelog entriesec298daUpdate changelog for v4.35.38c6e48dMerge pull request #3865 from github/update-bundle/codeql-bundle-v2.25.37190983Add changelog note2bb2095Update default bundle to codeql-bundle-v2.25.37851e55Merge pull request #3850 from github/mbg/private-registry/cloudsmith-gcp262a15fAdd generic non-printable chars test for OIDC configsa6109b1Merge pull request #3853 from github/mbg/start-proxy/improved-checksUpdates
slackapi/slack-github-actionfrom 3.0.1 to 3.0.3Release notes
Sourced from slackapi/slack-github-action's releases.
Changelog
Sourced from slackapi/slack-github-action's changelog.
Commits
45a88b9chore: release1c0bcf0chore: release (#606)66834e4feat: add instrumentation to address error rates (#600)0fe0f90build(deps): bump@actions/githubfrom 9.0.0 to 9.1.1 (#605)c5e7059build(deps): bump@slack/web-apifrom 7.15.0 to 7.15.1 (#604)0325526build(deps-dev): bump@biomejs/biomefrom 2.4.10 to 2.4.13 (#601)900cd3ebuild(deps-dev): bump@types/nodefrom 24.12.0 to 24.12.2 (#603)53fdcffbuild(deps): bump@actions/corefrom 3.0.0 to 3.0.1 (#602)26856ccbuild(deps): bump slackapi/slack-github-action from 3.0.1 to 3.0.2 (#596)feba1e2ci: skip publish step if no release is needed (#599)