Skip to content

Commit 5463639

Browse files
committed
1 parent 9f9baf3 commit 5463639

File tree

3 files changed

+1601
-23
lines changed

3 files changed

+1601
-23
lines changed

.github/workflows/continuous-integration.yml

+66-23
Original file line numberDiff line numberDiff line change
@@ -9,66 +9,109 @@ 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+
disable-sudo: true
38+
egress-policy: block
39+
allowed-endpoints: >
40+
github.com:443
41+
registry.npmjs.org:443
42+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
3243
- name: Use Node.js ${{ matrix.node-version }}
33-
uses: actions/setup-node@v3
44+
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
3445
with:
3546
node-version: ${{ matrix.node-version }}
47+
cache: npm
3648
- name: Bootstrap project
37-
run: |
38-
npm ci --ignore-scripts
39-
- uses: Yuri6037/[email protected]
49+
run: npm ci --ignore-scripts --prefer-offline
50+
- uses: Yuri6037/Action-FakeTTY@1abc69c7d530815855caedcd73842bae5687c1a6 # v1.1
4051
- name: Run tests
4152
run: faketty npm test --ignore-scripts
4253

4354
code-lint:
4455
name: Code Lint
4556
runs-on: ubuntu-latest
4657
steps:
47-
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
48-
- name: Use Node.js 16
49-
uses: actions/setup-node@v3
58+
- uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
59+
with:
60+
disable-sudo: true
61+
egress-policy: block
62+
allowed-endpoints: >
63+
api.github.com:443
64+
github.com:443
65+
nodejs.org:443
66+
registry.npmjs.org:443
67+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
68+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
69+
- name: Use Node.js 20
70+
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
5071
with:
51-
node-version: 16
72+
node-version: 20
73+
cache: 'npm'
5274
- name: Bootstrap project
5375
run: |
54-
npm ci --ignore-scripts
76+
npm ci \
77+
--ignore-scripts \
78+
--prefer-offline
5579
- name: Verify code linting
56-
run: npm run lint
80+
run: npm run lint --ignore-scripts
5781

5882
commit-lint:
5983
name: Commit Lint
6084
runs-on: ubuntu-latest
6185
if: ${{ github.event.pull_request }}
6286
steps:
63-
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
87+
- uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
88+
with:
89+
disable-sudo: true
90+
egress-policy: audit
91+
allowed-endpoints: >
92+
github.com:443
93+
registry.npmjs.org:443
94+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
6495
with:
6596
fetch-depth: 0
66-
- name: Use Node.js 16
67-
uses: actions/setup-node@v3
97+
- name: Use Node.js 20
98+
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
6899
with:
69-
node-version: 16
100+
node-version: 20
101+
cache: npm
70102
- name: Bootstrap project
71103
run: |
72-
npm ci --ignore-scripts
104+
npm ci \
105+
--ignore-scripts \
106+
--prefer-offline
73107
- name: Verify commit linting
74-
run: npx commitlint --from origin/master --to HEAD --verbose
108+
run: |
109+
npm exec \
110+
--no-install \
111+
--package=@commitlint/cli \
112+
-- \
113+
commitlint \
114+
--from=origin/master \
115+
--to=HEAD \
116+
--verbose
117+

0 commit comments

Comments
 (0)