aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/tests.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/tests.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/tests.yml')
-rw-r--r--.github/workflows/tests.yml60
1 files changed, 0 insertions, 60 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
deleted file mode 100644
index 7a946377c..000000000
--- a/.github/workflows/tests.yml
+++ /dev/null
@@ -1,60 +0,0 @@
-name: Tests
-
-on:
- # push:
- # branches:
- # - "main"
- pull_request:
- branches:
- - "main"
- workflow_dispatch:
-
-# Cancel any in-progress CI runs for a PR if it is updated
-concurrency:
- group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
- cancel-in-progress: true
-
-jobs:
- check_compilation:
- strategy:
- fail-fast: false
- matrix:
- os: [ubuntu-latest]
-
- name: Run tests
- runs-on: ${{ matrix.os }}
- steps:
- - uses: actions/checkout@v4
- - uses: tree-sitter/setup-action/cli@v1
-
- - name: Test Dependencies
- run: |
- mkdir -p ~/.local/share/nvim/site/pack/plenary.nvim/start
- cd ~/.local/share/nvim/site/pack/plenary.nvim/start
- git clone https://github.com/nvim-lua/plenary.nvim
- curl -L https://github.com/theHamsta/highlight-assertions/releases/download/v0.1.6/highlight-assertions_v0.1.6_x86_64-unknown-linux-gnu.tar.gz | tar -xz
- cp highlight-assertions /usr/local/bin
-
- - name: Install and prepare Neovim
- env:
- NVIM_TAG: nightly
- TREE_SITTER_CLI_TAG: v0.20.8
- run: |
- bash ./scripts/ci-install.sh
-
- - name: Setup Parsers Cache
- id: parsers-cache
- uses: actions/cache@v4
- with:
- path: |
- ~/.local/share/nvim/site/parser/
- ~/AppData/Local/nvim-data/site/parser/
- key: parsers-${{ join(matrix.*, '-') }}-${{ hashFiles(
- './lua/nvim-treesitter/install.lua',
- './lua/nvim-treesitter/parsers.lua') }}
-
- - name: Compile parsers
- run: nvim -l ./scripts/install-parsers.lua
-
- - name: Tests
- run: PATH=/usr/local/bin:$PATH ./scripts/run_tests.sh