Skip to content

[WIP] Modify CI workflow to ensure Tree-sitter R parser is available#474

Closed
Copilot wants to merge 1 commit into
mainfrom
copilot/fix-ci-workflow-for-tests
Closed

[WIP] Modify CI workflow to ensure Tree-sitter R parser is available#474
Copilot wants to merge 1 commit into
mainfrom
copilot/fix-ci-workflow-for-tests

Conversation

Copilot AI commented Dec 15, 2025

Copy link
Copy Markdown

Thanks for asking me to work on this. I will get started on it and keep this PR's description up to date as I form a plan and make progress.

Original prompt

Create a new branch named fix-treesitter-based-tests and a pull request that modifies the CI workflow to ensure Tree-sitter R parser is compiled and available to tests. Problem details and required changes:

Background

  • Tests fail with: "Found 0 .so files" and "Parser could not be created for buffer ... language "r"" (nvim-treesitter couldn't find compiled parser .so files).
  • CI workflow (.github/workflows/ci.yml) currently installs some dependencies (luarocks, libuv1-dev, make) but does not install compilers/build tools (build-essential, clang, pkg-config) and does not set a deterministic XDG_DATA_HOME for tests. As a result, parsers may not be compiled or may be installed to a different stdpath('data') than the test runtime uses.

Required changes

  1. Add build tool packages to the "Install Dependencies" step in .github/workflows/ci.yml so the runner has a C compiler and build tools available (install build-essential, clang, and pkg-config).
  2. In the "Run tests" step, set a deterministic XDG_DATA_HOME to the repository's .tests/data directory so that nvim-treesitter installs parsers into the same data directory used by the tests.
  3. Before running make test, install the R tree-sitter parser synchronously inside the CI environment and verify that a compiled .so exists in $XDG_DATA_HOME/nvim/site/parser. If the parser installation fails or no .so files exist, the job should fail with diagnostic output (ls -la of the parser directory and the path(s) where parsers are expected).
  4. Keep existing environment setup for LUA_PATH / LUA_CPATH.

Files to change

  • .github/workflows/ci.yml

Include the modified .github/workflows/ci.yml content in the PR. Use the existing workflow as base and make the minimal changes necessary to implement the steps above. Make sure steps are idempotent and safe on ubuntu-latest.

Notes

  • Do not change other workflows.
  • Do not include assignees in the problem statement.
  • Provide the new branch name fix-treesitter-based-tests and include the full file change in the PR.

This pull request was created as a result of the following prompt from Copilot chat.

Create a new branch named fix-treesitter-based-tests and a pull request that modifies the CI workflow to ensure Tree-sitter R parser is compiled and available to tests. Problem details and required changes:

Background

  • Tests fail with: "Found 0 .so files" and "Parser could not be created for buffer ... language "r"" (nvim-treesitter couldn't find compiled parser .so files).
  • CI workflow (.github/workflows/ci.yml) currently installs some dependencies (luarocks, libuv1-dev, make) but does not install compilers/build tools (build-essential, clang, pkg-config) and does not set a deterministic XDG_DATA_HOME for tests. As a result, parsers may not be compiled or may be installed to a different stdpath('data') than the test runtime uses.

Required changes

  1. Add build tool packages to the "Install Dependencies" step in .github/workflows/ci.yml so the runner has a C compiler and build tools available (install build-essential, clang, and pkg-config).
  2. In the "Run tests" step, set a deterministic XDG_DATA_HOME to the repository's .tests/data directory so that nvim-treesitter installs parsers into the same data directory used by the tests.
  3. Before running make test, install the R tree-sitter parser synchronously inside the CI environment and verify that a compiled .so exists in $XDG_DATA_HOME/nvim/site/parser. If the parser installation fails or no .so files exist, the job should fail with diagnostic output (ls -la of the parser directory and the path(s) where parsers are expected).
  4. Keep existing environment setup for LUA_PATH / LUA_CPATH.

Files to change

  • .github/workflows/ci.yml

Include the modified .github/workflows/ci.yml content in the PR. Use the existing workflow as base and make the minimal changes necessary to implement the steps above. Make sure steps are idempotent and safe on ubuntu-latest.

Notes

  • Do not change other workflows.
  • Do not include assignees in the problem statement.
  • Provide the new branch name fix-treesitter-based-tests and include the full file change in the PR.

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

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