-
Notifications
You must be signed in to change notification settings - Fork 1
137 lines (111 loc) · 3.47 KB
/
Copy pathtests.yml
File metadata and controls
137 lines (111 loc) · 3.47 KB
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
name: Validate
on:
pull_request:
branches: [main]
push:
branches: [main]
env:
FORCE_COLOR: 1
jobs:
lint:
name: '[Linux] Node 24: Formatting, lint & package smoke test'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 30
- name: Retrieve last main commit (for `git diff` purposes)
run: |
git checkout -b pr
git fetch --prune --depth=30 origin +refs/heads/main:refs/remotes/origin/main
git checkout main
git checkout pr
- name: Restore npm cache
uses: actions/cache@v5
with:
path: ~/.npm
key: npm-no-lock-v1-${{ runner.os }}-node24-${{ hashFiles('package.json') }}
restore-keys: |
npm-no-lock-v1-${{ runner.os }}-node24-
- name: Install Node.js and npm
uses: actions/setup-node@v6
with:
node-version: 24.x
package-manager-cache: false
- name: Install dependencies
run: npm install --package-lock=false
- name: Validate formatting
run: npm run prettier-check:updated
- name: Validate lint rules
run: npm run lint:updated
- name: Verify package contents
run: npm pack --dry-run
- name: Packed install smoke test
run: node ./scripts/ci/pack-smoke.js
linuxNode22:
name: '[Linux] Node 22: Unit tests'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Restore npm cache
uses: actions/cache@v5
with:
path: ~/.npm
key: npm-no-lock-v1-${{ runner.os }}-node22-${{ hashFiles('package.json') }}
restore-keys: |
npm-no-lock-v1-${{ runner.os }}-node22-
- name: Install Node.js and npm
uses: actions/setup-node@v6
with:
node-version: 22.x
package-manager-cache: false
- name: Install dependencies
run: npm install --package-lock=false
- name: Unit tests
run: npm test
windowsNode22:
name: '[Windows] Node 22: Unit tests'
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Restore npm cache
uses: actions/cache@v5
with:
path: ~/.npm
key: npm-no-lock-v1-${{ runner.os }}-node22-${{ hashFiles('package.json') }}
restore-keys: |
npm-no-lock-v1-${{ runner.os }}-node22-
- name: Install Node.js and npm
uses: actions/setup-node@v6
with:
node-version: 22.x
package-manager-cache: false
- name: Install dependencies
run: npm install --package-lock=false
- name: Unit tests
run: npm test
linuxNode20:
name: '[Linux] Node 20: Unit tests'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Restore npm cache
uses: actions/cache@v5
with:
path: ~/.npm
key: npm-no-lock-v1-${{ runner.os }}-node20-${{ hashFiles('package.json') }}
restore-keys: |
npm-no-lock-v1-${{ runner.os }}-node20-
- name: Install Node.js and npm
uses: actions/setup-node@v6
with:
node-version: 20.x
package-manager-cache: false
- name: Install dependencies
run: npm install --package-lock=false
- name: Unit tests
run: npm test