Skip to content

fix(ci): fix CI for Neovim 0.12+ and new nvim-treesitter - #38

Open
alfaix wants to merge 1 commit into
mainfrom
claude/analyze-repo-issues-WAmV0
Open

alfaix wants to merge 1 commit into
mainfrom
claude/analyze-repo-issues-WAmV0

Conversation

@alfaix

@alfaix alfaix commented Apr 3, 2026

Copy link
Copy Markdown
Owner

Summary

Fixes CI which is broken due to multiple upstream changes in Neovim and nvim-treesitter. Supersedes #34.

What changed upstream:

  • Neovim >= v0.10.4 renamed release archives from nvim-linux64.tar.gz to nvim-linux-x86_64.tar.gz
  • nvim-treesitter main dropped support for Neovim < 0.12, removed TSInstallSync command, and now requires tree-sitter CLI for parser compilation
  • nvim-treesitter main no longer bundles injection query files for cpp
  • Neovim 0.12 changed iter_matches to return tables of nodes instead of single nodes (even with {all=false})

Changes:

  • CI workflow: Archive download fallback, pin nvim-treesitter for v0.10.0, add v0.12.0 to matrix (drop v0.9.1), install tree-sitter CLI for new nvim-treesitter
  • parse.lua: Handle missing injection query files gracefully; handle iter_matches returning {node} tables in Neovim 0.12+
  • utils.lua: Handle schedule_notify/schedule_error when called outside coroutines
  • Makefile: Pass -u minimal_init.lua to nvim for deterministic test runs
  • minimal_init.lua: Add plugin lua/ dirs to package.path

Test plan

  • make test passes on Neovim v0.10.0 with pinned nvim-treesitter (310f0925)
  • make test passes on Neovim v0.12.0 (stable) with latest nvim-treesitter
  • stylua --check passes
  • CI passes on all matrix combinations (v0.10.0, v0.12.0, nightly × gtest versions)

https://claude.ai/code/session_01P5RFWJcyJGmweYnXhVvJ79

- Handle renamed Neovim archive (nvim-linux-x86_64.tar.gz) with fallback
- Pin nvim-treesitter to 310f0925 for Neovim 0.10.x (latest TS requires 0.12+)
- Update matrix: drop v0.9.1, add v0.12.0 (current stable)
- Install tree-sitter CLI for new nvim-treesitter parser compilation
- Fix parse.lua: handle missing injection queries on new nvim-treesitter
- Fix parse.lua: handle iter_matches returning node tables in Neovim 0.12+
- Fix utils.lua: handle schedule_notify/schedule_error outside coroutines
- Fix Makefile: pass -u minimal_init to nvim for test runs
- Fix minimal_init.lua: add plugin paths to package.path

Supersedes #34.

https://claude.ai/code/session_01P5RFWJcyJGmweYnXhVvJ79
@alfaix alfaix mentioned this pull request Sep 28, 2026
3 of 4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants