Skip to content

ci: fix prebuild/release matrices for new runner images (+ bump actions, fix bun binding path)#1

Merged
DylanPiercey merged 3 commits into
mainfrom
ci-windows-2022
Jun 13, 2026
Merged

ci: fix prebuild/release matrices for new runner images (+ bump actions, fix bun binding path)#1
DylanPiercey merged 3 commits into
mainfrom
ci-windows-2022

Conversation

@DylanPiercey

Copy link
Copy Markdown
Contributor

Why

The v0.1.0 release run failed: npm install on windows-latest errors because node-gyp can't detect Visual Studio 2026 on the new windows-latest image (GitHub is redirecting it to windows-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

  • Pin the Windows prebuild runner to windows-2022 (ships VS2022, which node-gyp recognizes).
  • npm install --ignore-scripts in the prebuild job — prebuildify does the real build, so the install-time node-gyp-build compile is redundant.
  • fail-fast: false so one platform can't cancel the others.

Applied to both ci.yml and release.yml.

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.
@coderabbitai

coderabbitai Bot commented Jun 13, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

CI and release workflows are updated: action versions bumped, prebuild runner matrices adjusted (including windows-2022 and macos-latest additions), prebuild install steps use npm install --ignore-scripts followed by npm run prebuild, and artifact upload/download actions are upgraded. The Node binding loader for Bun/static builds now requires a prebuild file named @marko+tree-sitter.node.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately captures the main changes: CI workflow fixes for runner image matrices, action version bumps, and the bun binding path update. It is specific and directly related to the changeset.
Description check ✅ Passed The description clearly explains the problem (node-gyp Visual Studio detection failure on windows-latest), the fixes applied (pin to windows-2022, use npm install --ignore-scripts, disable fail-fast), and their scope.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci-windows-2022

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 7fc673c and 31bd87b.

📒 Files selected for processing (2)
  • .github/workflows/ci.yml
  • .github/workflows/release.yml

Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
@DylanPiercey DylanPiercey changed the title ci: build Windows prebuilds on windows-2022 ci: fix prebuild/release matrices for new runner images (+ bump actions, fix bun binding path) Jun 13, 2026
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.
@DylanPiercey
DylanPiercey merged commit 6f268a7 into main Jun 13, 2026
8 checks passed
@DylanPiercey
DylanPiercey deleted the ci-windows-2022 branch June 13, 2026 21:53
@github-project-automation github-project-automation Bot moved this to Todo in Roadmap Jul 14, 2026
@github-project-automation github-project-automation Bot moved this from Todo to Done in Roadmap Jul 14, 2026
@DylanPiercey DylanPiercey self-assigned this Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant