9
9
schedule :
10
10
- cron : ' 0 2 * * 1' # At 02:00 on Monday
11
11
12
- env :
13
- NODE_OPTIONS : --max-old-space-size=4096
12
+ permissions : {}
14
13
15
14
jobs :
16
15
test :
@@ -19,36 +18,46 @@ jobs:
19
18
strategy :
20
19
matrix :
21
20
os : [ubuntu-latest]
22
- node-version : [16, 18]
21
+ node-version : [16, 18, 20 ]
23
22
include :
24
23
- os : macos-latest
25
- node-version : 16 # LTS
24
+ node-version : 20 # LTS
25
+ - os : window-latest
26
+ node-version : 20 # LTS
26
27
fail-fast : false
27
28
runs-on : ${{ matrix.os }}
28
29
steps :
29
- - uses : actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
30
+ - uses : step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
31
+ if : ${{ strategy.os == 'ubuntu-latest' }}
32
+ with :
33
+ egress-policy : audit
34
+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
30
35
with :
31
36
fetch-depth : 0
32
37
- name : Use Node.js ${{ matrix.node-version }}
33
- uses : actions/setup-node@v3
38
+ uses : actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
34
39
with :
35
40
node-version : ${{ matrix.node-version }}
36
41
- name : Bootstrap project
37
42
run : |
38
43
npm ci --ignore-scripts
39
- -
uses :
Yuri6037/[email protected]
44
+ - uses : Yuri6037/Action-FakeTTY@1abc69c7d530815855caedcd73842bae5687c1a6 # v1.1
40
45
- name : Run tests
41
46
run : faketty npm test --ignore-scripts
42
47
43
48
code-lint :
44
49
name : Code Lint
45
50
runs-on : ubuntu-latest
46
51
steps :
47
- - uses : actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
48
- - name : Use Node.js 16
49
- uses : actions/setup-node@v3
52
+ - uses : step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
53
+ if : ${{ strategy.os == 'ubuntu-latest' }}
54
+ with :
55
+ egress-policy : audit
56
+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
57
+ - name : Use Node.js 20
58
+ uses : actions/setup-node@v4
50
59
with :
51
- node-version : 16
60
+ node-version : 20
52
61
- name : Bootstrap project
53
62
run : |
54
63
npm ci --ignore-scripts
@@ -60,15 +69,26 @@ jobs:
60
69
runs-on : ubuntu-latest
61
70
if : ${{ github.event.pull_request }}
62
71
steps :
63
- - uses : actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
72
+ - uses : step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
73
+ if : ${{ strategy.os == 'ubuntu-latest' }}
74
+ with :
75
+ egress-policy : audit
76
+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
64
77
with :
65
78
fetch-depth : 0
66
- - name : Use Node.js 16
67
- uses : actions/setup-node@v3
79
+ - name : Use Node.js 20
80
+ uses : actions/setup-node@v4
68
81
with :
69
- node-version : 16
82
+ node-version : 20
70
83
- name : Bootstrap project
71
84
run : |
72
85
npm ci --ignore-scripts
73
86
- name : Verify commit linting
74
- run : npx commitlint --from origin/master --to HEAD --verbose
87
+ run : |
88
+ npm run \
89
+ --no-install \
90
+ commitlint \
91
+ --from origin/master \
92
+ --to HEAD \
93
+ --verbose
94
+
0 commit comments