File: test.yml

package info (click to toggle)
node-loader-runner 4.3.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 496 kB
  • sloc: javascript: 1,445; makefile: 2
file content (80 lines) | stat: -rw-r--r-- 2,956 bytes parent folder | download
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
name: Test

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Use Node.js
        uses: actions/setup-node@v4
        with:
          node-version: lts/*
          cache: "npm"
      - run: yarn --frozen-lockfile
      - name: Cache eslint result
        uses: actions/cache@v4
        with:
          path: .eslintcache
          key: lint-eslint-${{ runner.os }}-node-${{ hashFiles('**/package-lock.json', '**/eslint.config.mjs') }}
          restore-keys: lint-eslint-
      - run: npm run lint
  test:
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
        node-version: [6.x, 8.x, 10.x, 12.x, 14.x, 16.x, 18.x, 20.x, 22.x, 24.x]
        exclude:
          - os: windows-latest
            node-version: 6.x
          - os: macos-latest
            node-version: 6.x
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/github-script@v7
        id: calculate_architecture
        with:
          result-encoding: string
          script: |
            if ('${{ matrix.os }}' === 'macos-latest' && ('${{ matrix['node-version'] }}' === '6.x' || '${{ matrix['node-version'] }}' === '8.x' || '${{ matrix['node-version'] }}' === '10.x' || '${{ matrix['node-version'] }}' === '12.x' || '${{ matrix['node-version'] }}' === '14.x')) {
              return "x64"
            } else {
              return ''
            }
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
          architecture: ${{ steps.calculate_architecture.outputs.result }}
        if: matrix.node-version == '6.x'
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
          architecture: ${{ steps.calculate_architecture.outputs.result }}
          cache: "npm"
        if: matrix.node-version != '6.x'
      - run: |
          sudo npm i npm@6.x
          sudo npm install --ignore-engines
          sudo npm run test:cover
        if: matrix.node-version == '6.x'
      - run: npm install --ignore-engines
        if: matrix.node-version != '6.x' && matrix.node-version == '8.x' || matrix.node-version == '10.x' || matrix.node-version == '12.x' || matrix.node-version == '14.x' || matrix.node-version == '16.x'
      - run: npm ci
        if: matrix.node-version != '6.x' && matrix.node-version != '8.x' && matrix.node-version != '10.x' && matrix.node-version != '12.x' && matrix.node-version != '14.x' && matrix.node-version != '16.x'
      - run: npm run test:cover
        if: matrix.node-version != '6.x'
      - uses: codecov/codecov-action@v5
        with:
          flags: integration
          token: ${{ secrets.CODECOV_TOKEN }}