ci: update the process.versions test hash in dep update workflows - #31954
ci: update the process.versions test hash in dep update workflows#31954robobun wants to merge 1 commit into
Conversation
|
Updated 12:00 AM PT - Jun 7th, 2026
❌ @robobun, your commit 0b7edfb has 2 failures in
🧪 To try this PR locally: bunx bun-pr 31954That installs a local version of the PR into your bun-31954 --bun |
There was a problem hiding this comment.
LGTM — mechanical CI-only change that mirrors the existing sed pattern and matches the test file's current shape.
Extended reasoning...
Overview
Adds two sed/grep lines plus an add-paths entry to six scheduled dep-update workflows (update-{cares,libarchive,libdeflate,lolhtml,lshpack,zstd}.yml) so that when they bump the commit in scripts/build/deps/<name>.ts, they also bump the matching pinned hash in test/js/node/process/process.test.js. I verified the test file at lines 275–287 contains exactly the keys (ares, libarchive, libdeflate, lolhtml, lshpack, zstd) in the format the new sed expressions target: <indent>key: "<40-hex>",.
Security risks
None. $LATEST is already validated against ^[0-9a-f]{40}$ upstream in each workflow before it reaches the new sed line, so there's no injection vector into the replacement string. The workflows themselves only open PRs (which still require review/CI); they don't merge anything. No new permissions, secrets, or actions are introduced.
Level of scrutiny
Low. This is CI tooling that produces PRs for humans to review — worst case is the workflow step fails or the generated PR is wrong, both of which are caught before merge. The change is a copy-paste of the existing sed idiom already used one line above in each file, with a defensive grep -qF guard so drift in the test file fails the job loudly rather than silently producing broken PRs.
Other factors
No CODEOWNERS cover .github/workflows/. No prior reviewer comments to address. The bug-hunting system found nothing. The six edits are identical modulo the key name, and the one non-obvious mapping (c-ares → ares) is correct per the test file.
|
This PR may be a duplicate of:
🤖 Generated with Claude Code |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (6)
WalkthroughSix GitHub Actions workflows that update pinned dependencies now synchronize the dependency commits in ChangesDependency version synchronization with test file
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
|
Closing in favor of #29295, which the duplicate check correctly flagged. It solves the same problem at the test layer by deriving the expected hashes from The two fixes cannot both land: this PR's grep guard assumes the pinned #29295 was stale (merge conflict, a syntax error, and a regex that missed zlib.ts) and is now rebased and repaired, verified locally. If maintainers prefer the workflow-side approach after all, this can be reopened. |
What does this PR do?
The dep auto-update workflows (c-ares, libarchive, libdeflate, lolhtml, lshpack, zstd) bump the commit in
scripts/build/deps/<name>.tsbut not the matching pinned hash intest/js/node/process/process.test.js, so every PR they open fails theprocess.versionstest on all test lanes. The test pins these hashes on purpose (its comment says bumping a dep requires updating it too).This bit #31315: the lshpack test lanes were red, and because the workflow regenerates its branch with
add-pathslimited to the dep file, a manually pushed test fix was wiped by the next force-push. It had to be re-applied three times.Fix, in each of the six workflows:
process.test.js(keyaresfor c-ares)grepright after verifies the new hash landed in the test file, so the job fails loudly if the test file's shape ever drifts instead of regressing to broken auto-PRsadd-pathsincludes the test file so the change is committedWorkflows for deps not pinned in the test (hdrhistogram, highway, sqlite3, root-certs, vendor) are unchanged.
How did you verify your code works?
Simulated the new step locally for each of the six keys against the real test file: the sed rewrites exactly one line and the grep passes. Also exercised the failure path: with the key renamed so the sed cannot match, the grep exits 1, which fails the step under
set -euo pipefail. All six YAML files validated with a YAML parser.