Skip to content

Add linters to CI

Add linters to CI #42

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download Tree-sitter
run: .github/workflows/install-tree-sitter.sh v0.24.4
- name: Install Crystal
uses: crystal-lang/install-crystal@v1
with:
crystal: latest
- name: Run tree-sitter tests
run: tree-sitter test
- name: Run stdlib coverage
run: crystal run test/stdlib_coverage.cr
generate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download Tree-sitter
run: .github/workflows/install-tree-sitter.sh v0.24.4
- name: Regenerate parser
run: tree-sitter generate
- name: Check for changes
run: git diff --stat --exit-code
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install nodejs
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install eslint
run: npm install
- name: Run eslint on grammar.js
run: npx eslint grammar.js
- name: Run clang-format on C source files
uses: jidicula/clang-format-action@v4
with:
clang-format-version: 18
check-path: src
exclude-regex: '(parser\.c|tree_sitter/)'