Skip to content

ci: update workflows #281

ci: update workflows

ci: update workflows #281

Workflow file for this run

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-14]
steps:
- name: Set up the repo
uses: tree-sitter/parser-setup-action@v1.1
with:
node-version: ${{vars.NODE_VERSION}}
- name: Set up examples
shell: sh
run: |-
git clone https://github.com/Bash-it/bash-it examples/bash-it -q --single-branch --depth=1
git clone https://git.savannah.gnu.org/git/bash.git examples/bash -q --single-branch --depth=1
git clone https://anongit.gentoo.org/git/repo/gentoo.git examples/gentoo -q --single-branch --depth=1
if [[ '${{runner.os}}' != Windows ]]; then
git clone https://github.com/oilshell/wild-corpus examples/wild-corpus -q --single-branch --depth=1
fi
- name: Read known failures
uses: actions/github-script@v7
id: known-failures
with:
result-encoding: string
script: "return require('fs').readFileSync('script/known-failures.txt', 'utf8')"
- name: Run tests
uses: tree-sitter/parser-test-action@v1.2
with:
lint: ${{runner.os == 'Linux'}}
test-library: ${{runner.os == 'Linux'}}
corpus-files: |
examples/*.sh
examples/bash-it/**/*.sh
examples/bash-it/**/*.bash
examples/bash/**/*.sh
examples/bash/**/*.tests
examples/gentoo/**/*.sh
examples/gentoo/**/*.eclass
examples/wild-corpus/**/*.sh
# examples/gentoo/**/*.ebuild
!examples/gentoo/eclass/ruby-fakegem.eclass
${{steps.known-failures.outputs.result}}