aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/test.yml
blob: 93147eb747ab4d86ead0a7f1e873f39e2de85988 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
name: Tests
on: [push, pull_request]
env:
  CI: true

jobs:
  run:
    name: Node ${{ matrix.node }} on ${{ matrix.os }}
    runs-on: ${{ matrix.os }}

    strategy:
      fail-fast: false
      matrix:
        node: [6, 8, 10, 12]
        os: [ubuntu-latest, windows-latest]

    steps:
      - name: Clone repository
        uses: actions/checkout@v1

      - name: Set Node.js version
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node }}

      - run: node --version
      - run: npm --version

       # remove this block when Node.js 6.x is dropped
      - name: Install npm dependencies (npm i)
        run: npm install
        if: matrix.node < 8

      - name: Install npm dependencies (npm ci)
        run: npm ci
        if: (matrix.node >= 8 && matrix.os == 'ubuntu-latest') || (matrix.node >= 10 && matrix.os == 'windows-latest')

      - name: Run lint
        run: npm run lint
        if: matrix.node != 8 && matrix.os != 'windows-latest'

      - name: Run tests
        run: npm run test-cov

      - name: Coveralls
        uses: coverallsapp/github-action@master
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}