From 53dccb3a77da54a4e428275e8b44dbff77e0d47d Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Tue, 29 Apr 2025 19:40:18 +0200 Subject: 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). --- .github/workflows/test-queries.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to '.github/workflows/test-queries.yml') diff --git a/.github/workflows/test-queries.yml b/.github/workflows/test-queries.yml index a7d4ae79c..5d95bb351 100644 --- a/.github/workflows/test-queries.yml +++ b/.github/workflows/test-queries.yml @@ -1,12 +1,16 @@ -name: Check queries +name: Tests on: + push: + branches: + - "main" pull_request: branches: - "main" + workflow_dispatch: concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ${{ github.workflow }}-build-${{ github.ref }} cancel-in-progress: ${{ github.event_name == 'pull_request' }} jobs: @@ -14,4 +18,4 @@ jobs: name: Build uses: ./.github/workflows/test-core.yml with: - type: "queries" + type: "build" -- cgit v1.2.3-70-g09d2