Skip to content

Commit 35fd185

Browse files
committed
1 parent 9f9baf3 commit 35fd185

File tree

3 files changed

+1587
-22
lines changed

3 files changed

+1587
-22
lines changed

.github/workflows/continuous-integration.yml

+52-22
Original file line numberDiff line numberDiff line change
@@ -9,49 +9,63 @@ on:
99
schedule:
1010
- cron: '0 2 * * 1' # At 02:00 on Monday
1111

12-
env:
13-
NODE_OPTIONS: --max-old-space-size=4096
12+
permissions: {}
1413

1514
jobs:
1615
test:
1716
name: Test
18-
timeout-minutes: 15
17+
timeout-minutes: 5
1918
strategy:
2019
matrix:
2120
os: [ubuntu-latest]
22-
node-version: [16, 18]
21+
node-version:
22+
- 16
23+
- 18
24+
- 20
25+
- 21
2326
include:
2427
- os: macos-latest
25-
node-version: 16 # LTS
28+
node-version: 20 # LTS
29+
- os: windows-latest
30+
node-version: 20 # LTS
2631
fail-fast: false
2732
runs-on: ${{ matrix.os }}
2833
steps:
29-
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
34+
- uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
35+
if: ${{ matrix.os == 'ubuntu-latest' }}
3036
with:
31-
fetch-depth: 0
37+
egress-policy: audit
38+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
3239
- name: Use Node.js ${{ matrix.node-version }}
33-
uses: actions/setup-node@v3
40+
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
3441
with:
3542
node-version: ${{ matrix.node-version }}
43+
cache: npm
3644
- name: Bootstrap project
37-
run: |
38-
npm ci --ignore-scripts
39-
- uses: Yuri6037/[email protected]
45+
run: npm ci --ignore-scripts --prefer-offline
46+
- uses: Yuri6037/Action-FakeTTY@1abc69c7d530815855caedcd73842bae5687c1a6 # v1.1
4047
- name: Run tests
4148
run: faketty npm test --ignore-scripts
4249

4350
code-lint:
4451
name: Code Lint
4552
runs-on: ubuntu-latest
4653
steps:
47-
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
48-
- name: Use Node.js 16
49-
uses: actions/setup-node@v3
54+
- uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
55+
if: ${{ matrix.os == 'ubuntu-latest' }}
56+
with:
57+
egress-policy: audit
58+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
59+
- name: Use Node.js 20
60+
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
5061
with:
51-
node-version: 16
62+
node-version: 20
63+
cache: 'npm'
5264
- name: Bootstrap project
5365
run: |
54-
npm ci --ignore-scripts
66+
npm ci \
67+
--ignore-scripts \
68+
--prefer-offline
5569
- name: Verify code linting
5670
run: npm run lint
5771

@@ -60,15 +74,31 @@ jobs:
6074
runs-on: ubuntu-latest
6175
if: ${{ github.event.pull_request }}
6276
steps:
63-
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
77+
- uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
78+
if: ${{ matrix.os == 'ubuntu-latest' }}
79+
with:
80+
egress-policy: audit
81+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
6482
with:
6583
fetch-depth: 0
66-
- name: Use Node.js 16
67-
uses: actions/setup-node@v3
84+
- name: Use Node.js 20
85+
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
6886
with:
69-
node-version: 16
87+
node-version: 20
88+
cache: npm
7089
- name: Bootstrap project
7190
run: |
72-
npm ci --ignore-scripts
91+
npm ci \
92+
--ignore-scripts \
93+
--prefer-offline
7394
- name: Verify commit linting
74-
run: npx commitlint --from origin/master --to HEAD --verbose
95+
run: |
96+
npm exec \
97+
--no-install \
98+
--package=@commitlint/cli \
99+
-- \
100+
commitlint \
101+
--from=origin/master \
102+
--to=HEAD \
103+
--verbose
104+

0 commit comments

Comments
 (0)