ci: fix prebuild/release matrices for new runner images (+ bump actions, fix bun binding path)#1
Conversation
node-gyp can't detect Visual Studio 2026 on the new windows-latest image, so npm install / prebuildify failed. Pin Windows to windows-2022 (VS2022), skip the redundant node-gyp-build install-time compile, and disable fail-fast.
|
Caution Review failedPull request was closed or merged during review WalkthroughCI and release workflows are updated: action versions bumped, prebuild runner matrices adjusted (including windows-2022 and macos-latest additions), prebuild install steps use 🚥 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)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 40-41: Replace the floating tags with full commit SHAs for both
actions in the workflow snippets: in .github/workflows/ci.yml (lines 40-41) pin
actions/checkout@v4 to its full commit SHA and pin actions/setup-node@v4 to its
full commit SHA; in .github/workflows/release.yml (lines 36-37) do the same —
replace actions/checkout@v4 and actions/setup-node@v4 with the corresponding
full commit SHAs so the workflows use immutable action versions.
- Line 35: Replace the deprecated macOS runner label in both workflow matrices:
in .github/workflows/ci.yml (lines 35-35) change the entry "macos-13" to
"macos-15-intel", and in .github/workflows/release.yml (lines 31-31) make the
same replacement, ensuring both CI and release matrices remain aligned.
🪄 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
Run ID: ca7ab354-3ef4-43d2-a75a-0e7ab0b3c31b
📒 Files selected for processing (2)
.github/workflows/ci.yml.github/workflows/release.yml
The Intel macOS runner (macos-13) is being wound down and its jobs queue indefinitely. Cross-build the darwin-x64 prebuild on the arm64 macos-latest runner instead (N-API addons cross-compile cleanly). Also bump the deprecated actions to their node24 versions: checkout@v6, setup-node@v6, upload-artifact@v7, download-artifact@v8.
prebuildify names the prebuilt binary after the package, so the scope rename changed it to @marko+tree-sitter.node. Update the bun load path to match; node-gyp-build (the default loader) already scans the dir.
Why
The
v0.1.0release run failed:npm installonwindows-latesterrors because node-gyp can't detect Visual Studio 2026 on the newwindows-latestimage (GitHub is redirecting it towindows-2025-vs2026).node-gyp ERR! find VS … unknown version "undefined" found at "…/Visual Studio/18/Enterprise". The macOS-13 job was only canceled by fail-fast, not a real failure.Fix
windows-2022(ships VS2022, which node-gyp recognizes).npm install --ignore-scriptsin the prebuild job —prebuildifydoes the real build, so the install-timenode-gyp-buildcompile is redundant.fail-fast: falseso one platform can't cancel the others.Applied to both
ci.ymlandrelease.yml.