⬆️ update GitHub Actions#14
Conversation
2e4d319 to
d8b64b7
Compare
d8b64b7 to
0fccb7e
Compare
0fccb7e to
ff92cbb
Compare
ff92cbb to
d5f510c
Compare
62f0be6 to
daa8d6d
Compare
cd0d797 to
659b037
Compare
73aa15c to
3d41f72
Compare
894949e to
355e211
Compare
2976088 to
7c2167e
Compare
7c2167e to
e159998
Compare
📝 WalkthroughWalkthroughCI workflows receive dependency updates: ChangesCI and Workflow Dependencies
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/ci.yml:
- Around line 25-27: CI uses pnpm/action-setup@... with version 10.34.1 while
package.json pins pnpm@10.30.0 and Dockerfile uses corepack prepare
pnpm@10.28.2; pick a single canonical pnpm version and update the three places
to match (the pnpm/action-setup step version in .github/workflows/ci.yml, the
pnpm entry in package.json, and the corepack prepare pnpm@... invocation in
Dockerfile) so all environments use identical pnpm (e.g., set all to 10.34.1 or
to the package.json value) and commit the synchronized version strings.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: c0bd824f-50df-4d6c-9723-8cf8fa972245
📒 Files selected for processing (1)
.github/workflows/ci.yml
| - uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4 | ||
| with: | ||
| version: 10.30.0 | ||
| version: 10.34.1 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify all explicit pnpm version pins across repo (read-only).
set -euo pipefail
echo "== packageManager pins =="
rg -n --glob 'package.json' '"packageManager"\s*:\s*"pnpm@[^"]+"'
echo
echo "== corepack prepare pnpm pins =="
rg -n 'corepack\s+prepare\s+pnpm@[^[:space:]]+\s+--activate'
echo
echo "== workflow pnpm/action-setup version pins =="
rg -n --glob '.github/workflows/*.yml' 'pnpm/action-setup@|^\s*version:\s*[0-9]+\.[0-9]+\.[0-9]+'Repository: Spillgebees/transmodel-validator
Length of output: 556
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== workflow pnpm/action-setup pins (paths) =="
rg -n "pnpm/action-setup@" .github/workflows -S || true
echo
echo "== workflow step 'version:' values (CI) =="
rg -n "^\s*version:\s*[0-9]+\.[0-9]+\.[0-9]+" .github/workflows/ci.yml || true
echo
echo "== full relevant block around pnpm/action-setup in ci.yml =="
rg -n -C 6 "pnpm/action-setup@" .github/workflows/ci.yml || trueRepository: Spillgebees/transmodel-validator
Length of output: 784
Align pnpm version pins across CI, package.json, and Docker to avoid install drift.
CI pins pnpm to 10.34.1 in .github/workflows/ci.yml, but the repo pins pnpm@10.30.0 in package.json and pnpm@10.28.2 via corepack prepare in Dockerfile, creating cross-environment version mismatch and potential inconsistent installs/lockfile outcomes.
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
with:
version: 10.34.1🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/workflows/ci.yml around lines 25 - 27, CI uses pnpm/action-setup@...
with version 10.34.1 while package.json pins pnpm@10.30.0 and Dockerfile uses
corepack prepare pnpm@10.28.2; pick a single canonical pnpm version and update
the three places to match (the pnpm/action-setup step version in
.github/workflows/ci.yml, the pnpm entry in package.json, and the corepack
prepare pnpm@... invocation in Dockerfile) so all environments use identical
pnpm (e.g., set all to 10.34.1 or to the package.json value) and commit the
synchronized version strings.
31a8fac to
7a29f22
Compare
7a29f22 to
f2eae0c
Compare
This PR contains the following updates:
a71d815→e75cced10.30.0→10.34.441ff726→b906affRelease Notes
pnpm/pnpm (pnpm)
v10.34.4Compare Source
v10.34.3Compare Source
v10.34.2Compare Source
v10.34.1: pnpm 10.34.1Compare Source
Patch Changes
pnpm-lock.yamlentries whose remote tarballresolution:block is missing theintegrityfield. Previously the worker that extracts a downloaded tarball skipped hash verification when no integrity was supplied and minted a fresh one from the unverified bytes, so an attacker who could both alter the lockfile (e.g. via a pull request that stripsintegrity:) and serve modified content at the referenced tarball URL could install a tampered package without any error — including under--frozen-lockfile. pnpm now fails closed at lockfile-read time withERR_PNPM_MISSING_TARBALL_INTEGRITY. Git-hosted tarballs (gitHosted: trueor a URL on codeload.github.com / bitbucket.org / gitlab.com) andfile:tarballs are exempt — the commit SHA in a git-host URL and the user-controlled local path already anchor the bytes.Platinum Sponsors
Gold Sponsors
v10.34.0: pnpm 10.34Compare Source
Minor Changes
Treat tarball-integrity mismatches against the lockfile as a hard failure by default. Previously,
pnpm install(non-frozen) would logERR_PNPM_TARBALL_INTEGRITY, silently re-resolve from the registry, and overwrite the locked integrity — which meant a compromised registry, proxy, or republished version could substitute attacker-controlled content on a clean machine even though the project shipped a committed lockfile.pnpm installnow exits withERR_PNPM_TARBALL_INTEGRITYand a hint pointing at the new opt-in flag.The only opt-in is
pnpm install --update-checksums— narrowly scoped to refreshing the locked integrity values from what the registry currently serves. Mirrors yarn's flag of the same name. A warning still prints when the bypass takes effect so the operation is auditable.--forceandpnpm updatedeliberately do not bypass the integrity check. They are routine refresh operations; silently overwriting a locked integrity in those flows would erase the protection a committed lockfile is supposed to provide.--frozen-lockfilebehavior is unchanged.--fix-lockfilekeeps its documented purpose (filling in missing lockfile entries) and is also not a bypass.Patch Changes
_authToken,_auth,username/_password,tokenHelper, inlinecert/key) to the registry declared in the same config source at load time, so a later layer overridingregistry=(workspace.npmrc,pnpm-workspace.yaml, CLI--registry) cannot redirect a credential or client certificate authored for a different host. A deprecation warning is emitted whenever an unscoped per-registry setting is encountered, naming the source and the URL it was pinned to. Reported by JUNYI LIU.minimumReleaseAgehandling when cached metadata is abbreviated. The npm registry returns abbreviated package metadata (without the per-versiontimefield) by default, which made the maturity check throwERR_PNPM_MISSING_TIMEwhenever cached abbreviated metadata was reused. pnpm now upgrades cached abbreviated metadata to the full document via a follow-up fetch whenminimumReleaseAgeis active, persists the upgrade to the on-disk cache so subsequent installs skip the extra fetch, and letsERR_PNPM_MISSING_TIMEfrom the cache fast-path fall through to the network fetch even under strict mode.commitfield is not a 40-character hexadecimal SHA before invokinggit. A malicious lockfile could otherwise smuggle a value such as--upload-pack=<command>throughgit fetch/git checkout, which on SSH or local-file transports executes the supplied command.diff --githeaders reference paths outside the patched package directory. Previously a malicious.patchfile added via a pull request could write, delete, or rename arbitrary files reachable by the user runningpnpm install.--prefix=<dir>not being honored when locating the workspace root. The--prefix → dirrename was applied after workspace detection, so workspace settings declared in<dir>/pnpm-workspace.yamlwere not loaded when pnpm was invoked from outside<dir>#11535.@x/../../../../../.git/hooks) when reading them from a package manifest or symlinking them intonode_modules. A malicious registry package could otherwise use a transitive dependency key to makepnpm installcreate symlinks at attacker-chosen paths outside the intendednode_modulesdirectory.Platinum Sponsors
Gold Sponsors
v10.33.4: pnpm 10.33.4Compare Source
Patch Changes
Pin the integrity of git-hosted tarballs (codeload.github.com, gitlab.com, bitbucket.org) in the lockfile so that subsequent installs detect a tampered or substituted tarball and refuse to install it. Previously the lockfile only stored the tarball URL for git dependencies, so a compromised git host or a man-in-the-middle could serve arbitrary code on later installs without lockfile changes.
A new
gitHosted: truefield is recorded on git-hosted tarball resolutions in the lockfile, letting every reader/writer route them by a single typed check instead of pattern-matching the tarball URL in each call site. Lockfiles written by older pnpm versions are enriched on load (URL fallback) so the field can be relied on uniformly across the codebase.Fix a regression where
pnpm --recursive --filter '!<pkg>' run/exec/test/addwould include the workspace root in the matched projects. The workspace root is now correctly excluded by default when only negative--filterarguments are provided, matching the documented behavior. To include the root, pass--include-workspace-root#11341.Platinum Sponsors
Gold Sponsors
v10.33.3Compare Source
v10.33.2Compare Source
v10.33.1: pnpm 10.33.1Compare Source
Patch Changes
packageManagerfield selects pnpm v11 or newer, commands that v10 would have passed through to npm (version,login,logout,publish,unpublish,deprecate,dist-tag,docs,ping,search,star,stars,unstar,whoami, etc.) are now handed over to the wanted pnpm, which implements them natively. Previously they silently shelled out to npm — making, for example,pnpm version --helpprint npm's help on a project withpackageManager: pnpm@11.0.0-rc.3#11328.Platinum Sponsors
Gold Sponsors
v10.33.0Compare Source
v10.32.1: pnpm 10.32.1Compare Source
Patch Changes
pnpm-workspace.yamlwithout apackagesfield caused all directories to be treated as workspace projects. This broke projects that usepnpm-workspace.yamlonly for settings (e.g.minimumReleaseAge) without defining workspace packages #10909.Platinum Sponsors
Gold Sponsors
v10.32.0: pnpm 10.32Compare Source
Minor Changes
--allflag topnpm approve-buildsthat approves all pending builds without interactive prompts #10136.Patch Changes
lockfile-include-tarball-url. Fixes #10915.Platinum Sponsors
Gold Sponsors
v10.31.0Compare Source
v10.30.3Compare Source
v10.30.2Compare Source
v10.30.1: pnpm 10.30.1Compare Source
Patch Changes
/-/npm/v1/security/audits/quickendpoint as the primary audit endpoint, falling back to/-/npm/v1/security/auditswhen it fails #10649.Platinum Sponsors
Gold Sponsors
Configuration
📅 Schedule: (in timezone Europe/Luxembourg)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.