Files
tree-sitter-django/.github/workflows/ci.yml
T
danhanson 99123289f7
Release / Version (push) Canceled after 0s
Release / CI (push) Canceled after 0s
Release / Prebuild (macos-13) (push) Canceled after 0s
Release / Prebuild (macos-latest) (push) Canceled after 0s
Release / Prebuild (ubuntu-24.04-arm) (push) Canceled after 0s
Release / Prebuild (ubuntu-latest) (push) Canceled after 0s
Release / Prebuild (windows-latest) (push) Canceled after 0s
Release / Tag and publish (push) Canceled after 0s
add release workflow
2026-09-16 16:05:32 -05:00

86 lines
2.1 KiB
YAML

name: CI
# Pull requests run this directly; pushes to main reach it through release.yml,
# which calls this workflow before it tags and publishes.
on:
pull_request:
workflow_call:
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
parser:
name: Corpus and generated files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: 22
cache: npm
- run: npm ci
- name: Corpus tests
run: npm run parser-test
- name: src/ matches grammar.js
run: |
npm run parser-generate
if ! git diff --exit-code --stat src/; then
echo "::error::src/ is out of date: run 'npm run parser-generate' and commit the result"
exit 1
fi
node:
name: Node binding (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: 22
cache: npm
# npm ci builds the addon through the install script (node-gyp-build)
- run: npm ci
- run: npm run binding-test
rust:
name: Rust binding
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- run: cargo test
python:
name: Python binding
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: python -m pip install --upgrade pip
- run: python -m pip install . "tree-sitter~=0.24"
- run: python -m unittest discover -s bindings/python/tests -v
go:
name: Go binding
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
with:
go-version: stable
- run: go test ./bindings/go/
swift:
name: Swift binding
runs-on: macos-latest
steps:
- uses: actions/checkout@v5
- run: swift build