1 | name: Continuous Integration
|
2 |
|
3 | on:
|
4 | pull_request: {}
|
5 | push:
|
6 | branches:
|
7 | - master
|
8 |
|
9 | workflow_dispatch: {}
|
10 |
|
11 | jobs:
|
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
|