-
Notifications
You must be signed in to change notification settings - Fork 0
105 lines (89 loc) · 2.62 KB
/
CI.yml
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
name: "CI"
on:
push:
branches: "*"
pull_request:
env:
cache-version: 1
jobs:
build:
name: "Build"
runs-on: ubuntu-latest
steps:
- name: "Checkout"
uses: actions/checkout@v4
- name: "Cache NPM dependencies"
uses: actions/cache@v4
with:
path: "~/.npm"
key: npm-dependencies-${{ runner.os }}-${{ env.cache-version }}-${{ hashFiles('package.json') }}
restore-keys: |
npm-dependencies-${{ runner.os }}-${{ env.cache-version }}-${{ hashFiles('package.json') }}
npm-dependencies-${{ runner.os }}-${{ env.cache-version }}-
- name: "Install NPM dependencies"
run: |
npm ci
- name: "Build"
run: |
npm run build
test:
name: "Test"
runs-on: ubuntu-latest
strategy:
matrix:
versions: [
{node: "14", rollup: "3", vite: "4"},
{node: "16", rollup: "3", vite: "4"},
{node: "18", rollup: "4", vite: "5"},
{node: "20", rollup: "4", vite: "5"},
{node: "22", rollup: "4", vite: "5"}]
steps:
- name: "Checkout"
uses: actions/[email protected]
- name: "Setup Node.js"
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.versions.node }}
cache: 'npm'
- name: "Install NPM dependencies"
run: |
npm install
- name: "Install rollup & vite"
run: |
npm install rollup@${{ matrix.versions.rollup }} vite@${{ matrix.versions.vite }}
- name: "Run tests"
run: |
npm run test
- name: "Upload coverage results"
uses: coverallsapp/[email protected]
with:
parallel: true
close-coverage:
name: "Close parallel coverage"
runs-on: ubuntu-latest
needs: test
steps:
- name: "Close parallel coverage"
uses: coverallsapp/[email protected]
with:
parallel-finished: true
lint:
name: "Lint"
runs-on: ubuntu-latest
steps:
- name: "Checkout"
uses: actions/checkout@v4
- name: "Cache NPM dependencies"
uses: actions/cache@v4
with:
path: "~/.npm"
key: npm-dependencies-${{ runner.os }}-${{ env.cache-version }}-${{ hashFiles('package.json') }}
restore-keys: |
npm-dependencies-${{ runner.os }}-${{ env.cache-version }}-${{ hashFiles('package.json') }}
npm-dependencies-${{ runner.os }}-${{ env.cache-version }}-
- name: "Install NPM dependencies"
run: |
npm ci
- name: "Lint"
run: |
npm run lint