diff options
| author | Christian Clason <c.clason@uni-graz.at> | 2024-08-18 13:01:29 +0200 |
|---|---|---|
| committer | Christian Clason <c.clason@uni-graz.at> | 2025-05-12 18:43:40 +0200 |
| commit | c5a8c9d01a12efbdee501d67dba7423b790fe500 (patch) | |
| tree | 8e5b6cd719cbf256a6e3d1db2293014bdfa603a7 /.github/workflows/test-core.yml | |
| parent | feat(install): allow specifying max jobs (diff) | |
| download | nvim-treesitter-c5a8c9d01a12efbdee501d67dba7423b790fe500.tar nvim-treesitter-c5a8c9d01a12efbdee501d67dba7423b790fe500.tar.gz nvim-treesitter-c5a8c9d01a12efbdee501d67dba7423b790fe500.tar.bz2 nvim-treesitter-c5a8c9d01a12efbdee501d67dba7423b790fe500.tar.lz nvim-treesitter-c5a8c9d01a12efbdee501d67dba7423b790fe500.tar.xz nvim-treesitter-c5a8c9d01a12efbdee501d67dba7423b790fe500.tar.zst nvim-treesitter-c5a8c9d01a12efbdee501d67dba7423b790fe500.zip | |
ci(tests): add optional workflow for generating grammars
run on PR by adding label `ci:generate` or manually
Diffstat (limited to '.github/workflows/test-core.yml')
| -rw-r--r-- | .github/workflows/test-core.yml | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/.github/workflows/test-core.yml b/.github/workflows/test-core.yml new file mode 100644 index 000000000..313084dab --- /dev/null +++ b/.github/workflows/test-core.yml @@ -0,0 +1,55 @@ +on: + workflow_call: + inputs: + type: + type: string + workflow_dispatch: + +defaults: + run: + shell: bash + +jobs: + check_compilation: + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + nvim_tag: [nightly] + name: ${{ matrix.os }} + runs-on: ${{ matrix.os }} + env: + NVIM: ${{ matrix.os == 'windows-latest' && 'nvim-win64\\bin\\nvim.exe' || 'nvim' }} + steps: + - uses: actions/checkout@v4 + - uses: tree-sitter/setup-action/cli@v1 + - uses: ilammy/msvc-dev-cmd@v1 + + - name: Install and prepare Neovim + env: + NVIM_TAG: ${{ matrix.nvim_tag }} + run: | + bash ./scripts/ci-install.sh + + - if: inputs.type == 'generate' + name: Generate and compile parsers + run: $NVIM -l ./scripts/install-parsers.lua --generate --max-jobs=2 + + - if: inputs.type == 'queries' + 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') }} + + - if: inputs.type == 'queries' + name: Compile parsers + run: $NVIM -l ./scripts/install-parsers.lua + + - name: Check query files + run: $NVIM -l ./scripts/check-queries.lua |
