# Taken from: https://github.com/tree-sitter/tree-sitter-go/tree/eb306e6e60f393df346cfc8cbfaf52667a37128a/.github/workflows
name: build/test
on:
  push:
    branches:
      - "**"
env:
  EM_VERSION: 1.39.18
  EM_CACHE_FOLDER: 'emsdk-cache'

jobs:
  test:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: true
      matrix:
        os: [macos-latest, ubuntu-latest]
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 14
      - run: npm install
      - run: npm test
  test_windows:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 14
      - run: npm install
      - run: npm run-script test
  vlib_test:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: true
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 14
      - name: Clone & Build vmaster/v
        run: |
          git clone --depth=1 https://github.com/vlang/v vmaster/
      - run: npm install
      - run: node ./tools/test-vlib.js ./vmaster --hideRanges
