name: CI on: push: branches: [master] paths: - grammar.js - src/** - test/** - bindings/** - binding.gyp pull_request: paths: - grammar.js - src/** - test/** - bindings/** - binding.gyp concurrency: group: ${{github.workflow}}-${{github.ref}} cancel-in-progress: true jobs: test: name: Test parser runs-on: ${{matrix.os}} strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-15] steps: - name: Checkout repository uses: actions/checkout@v5 - name: Checkout tree-sitter-c uses: actions/checkout@v5 with: repository: tree-sitter/tree-sitter-c path: node_modules/tree-sitter-c sparse-checkout: queries/ ref: v0.24.1 - name: Set up tree-sitter uses: tree-sitter/setup-action/cli@v2 - name: Run tests uses: tree-sitter/parser-test-action@v3 with: test-rust: true # test-node: true test-python: true test-go: true test-swift: true - name: Parse examples uses: tree-sitter/parse-action@v4 with: files: examples/*