aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/test-core.yml
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2025-04-29 19:40:18 +0200
committerChristian Clason <c.clason@uni-graz.at>2025-05-12 18:43:41 +0200
commit53dccb3a77da54a4e428275e8b44dbff77e0d47d (patch)
tree921e2ba83265f6cba3e828b3100692255e33f359 /.github/workflows/test-core.yml
parentrefactor(locals): fix type annotations and warnings (diff)
downloadnvim-treesitter-53dccb3a77da54a4e428275e8b44dbff77e0d47d.tar
nvim-treesitter-53dccb3a77da54a4e428275e8b44dbff77e0d47d.tar.gz
nvim-treesitter-53dccb3a77da54a4e428275e8b44dbff77e0d47d.tar.bz2
nvim-treesitter-53dccb3a77da54a4e428275e8b44dbff77e0d47d.tar.lz
nvim-treesitter-53dccb3a77da54a4e428275e8b44dbff77e0d47d.tar.xz
nvim-treesitter-53dccb3a77da54a4e428275e8b44dbff77e0d47d.tar.zst
nvim-treesitter-53dccb3a77da54a4e428275e8b44dbff77e0d47d.zip
feat(tests)!: new infrastructure based on makefile
Problem: Not easy to run all checks and tests locally. Redundant CI workflows. Solution: Separate CI into two workflows: * lint: Lua files (stylua, luals), query files (valid captures, predicates, directives using tsqueryls), docs (SUPPORTED_LANGUAGES.md) -- does not need parser installation * tests: parsers (ABI compatibility), query files (tsqueryls on Linux/macOS; nvim on Windows), highlight and indent tests (separated for better readability) -- needs parser installation (but only once) Switch to https://github.com/nvim-treesitter/highlight-assertions fork with ABI 15 support. Run all tests (on Linux and macOS) through `make` (`formatlua`, `checklua`, `lintquery`, `formatquery`, `checkquery`, `docs`, `tests`), which downloads and caches all necessary dependencies. Remove `update-readme` workflow (replaced by lint job on PRs).
Diffstat (limited to '.github/workflows/test-core.yml')
-rw-r--r--.github/workflows/test-core.yml22
1 files changed, 19 insertions, 3 deletions
diff --git a/.github/workflows/test-core.yml b/.github/workflows/test-core.yml
index 313084dab..05f8078ce 100644
--- a/.github/workflows/test-core.yml
+++ b/.github/workflows/test-core.yml
@@ -35,7 +35,7 @@ jobs:
name: Generate and compile parsers
run: $NVIM -l ./scripts/install-parsers.lua --generate --max-jobs=2
- - if: inputs.type == 'queries'
+ - if: inputs.type == 'build'
name: Setup Parsers Cache
id: parsers-cache
uses: actions/cache@v4
@@ -47,9 +47,25 @@ jobs:
'./lua/nvim-treesitter/install.lua',
'./lua/nvim-treesitter/parsers.lua') }}
- - if: inputs.type == 'queries'
+ - if: inputs.type == 'build'
name: Compile parsers
run: $NVIM -l ./scripts/install-parsers.lua
- - name: Check query files
+ - name: Check parsers
+ run: $NVIM -l ./scripts/check-parsers.lua
+
+ - name: Check queries (nvim)
+ if: ${{ matrix.os == 'windows-latest' }}
run: $NVIM -l ./scripts/check-queries.lua
+
+ - name: Check queries (tsqueryls)
+ if: ${{ matrix.os != 'windows-latest' }}
+ run: make checkquery
+
+ - name: Run highlight tests
+ if: ${{ matrix.os != 'windows-latest' }}
+ run: make tests TESTS=query NVIM_BIN=$NVIM
+
+ - name: Run indents tests
+ if: ${{ matrix.os != 'windows-latest' }}
+ run: make tests TESTS=indent NVIM_BIN=$NVIM