UNPKG

2.17 kBYAMLView Raw
1name: Continuous Integration
2
3on:
4 pull_request: {}
5 push:
6 branches:
7 - master
8 # Allow manual runs if needed.
9 workflow_dispatch: {}
10
11jobs:
12 lint:
13 name: Lint Code
14 runs-on: ubuntu-latest
15 steps:
16 - uses: actions/checkout@v4
17
18 - name: Install Node.js
19 uses: actions/setup-node@v4
20 with:
21 node-version: 20
22 cache: npm
23 cache-dependency-path: 'package.json'
24
25 - name: Install dependencies
26 run: npm install
27
28 - name: JSHint
29 run: npm run lint
30
31 build:
32 runs-on: ubuntu-latest
33
34 steps:
35 - uses: actions/checkout@v4
36
37 - name: Install Node.js
38 uses: actions/setup-node@v4
39 with:
40 node-version: 20
41 cache: npm
42 cache-dependency-path: 'package.json'
43
44 - name: Install dependencies
45 run: npm install
46
47 - name: Build
48 run: npm run dist-build
49
50 node-tests:
51 runs-on: ubuntu-latest
52 strategy:
53 matrix:
54 node_version: [8, 10, 12, 14, 16, 18, 20]
55
56 steps:
57 - uses: actions/checkout@v4
58
59 - name: Install Node.js
60 uses: actions/setup-node@v4
61 with:
62 node-version: ${{ matrix.node_version }}
63 cache: npm
64 cache-dependency-path: 'package.json'
65
66 - name: Install dependencies
67 run: npm install
68
69 - name: Unit Tests
70 run: npm run test-node
71
72 browser-tests:
73 runs-on: ubuntu-latest
74
75 steps:
76 - uses: actions/checkout@v4
77
78 - name: Install Node.js
79 uses: actions/setup-node@v4
80 with:
81 node-version: 20
82 cache: npm
83 cache-dependency-path: 'package.json'
84
85 - name: Install dependencies
86 run: npm install
87
88 - name: Unit Tests
89 run: npm run test-browser
90
91 types:
92 runs-on: ubuntu-latest
93
94 steps:
95 - uses: actions/checkout@v4
96
97 - name: Install Node.js
98 uses: actions/setup-node@v4
99 with:
100 node-version: 20
101 cache: npm
102 cache-dependency-path: 'package.json'
103
104 - name: Install dependencies
105 run: npm install
106
107 - name: Typescript Tests
108 run: npm run test-types