mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-01 11:06:54 -04:00
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).
50 lines
834 B
YAML
50 lines
834 B
YAML
name: Lint
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "main"
|
|
pull_request:
|
|
branches:
|
|
- "main"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
lua:
|
|
name: Lint Lua files
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Format
|
|
run: |
|
|
make formatlua
|
|
git diff --exit-code
|
|
|
|
- name: Lint
|
|
run: make checklua
|
|
|
|
queries:
|
|
name: Lint query files
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Format
|
|
run: |
|
|
make formatquery
|
|
git diff --exit-code
|
|
|
|
- name: Lint
|
|
run: make lintquery
|
|
|
|
readme:
|
|
name: Lint docs
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Check SUPPORTED_LANGUAGES
|
|
run: |
|
|
make docs
|
|
git diff --exit-code
|