Skip to content

Commit 65cf1bf

Browse files
committed
1 parent 9f9baf3 commit 65cf1bf

File tree

3 files changed

+1592
-24
lines changed

3 files changed

+1592
-24
lines changed

.github/workflows/continuous-integration.yml

+57-24
Original file line numberDiff line numberDiff line change
@@ -9,49 +9,66 @@ 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: >
46+
npm ci
47+
--ignore-scripts
48+
--prefer-offline
49+
- uses: Yuri6037/Action-FakeTTY@1abc69c7d530815855caedcd73842bae5687c1a6 # v1.1
4050
- name: Run tests
4151
run: faketty npm test --ignore-scripts
4252

4353
code-lint:
4454
name: Code Lint
4555
runs-on: ubuntu-latest
4656
steps:
47-
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
48-
- name: Use Node.js 16
49-
uses: actions/setup-node@v3
57+
- uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
58+
if: ${{ matrix.os == 'ubuntu-latest' }}
59+
with:
60+
egress-policy: audit
61+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
62+
- name: Use Node.js 20
63+
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
5064
with:
51-
node-version: 16
65+
node-version: 20
66+
cache: 'npm'
5267
- name: Bootstrap project
53-
run: |
54-
npm ci --ignore-scripts
68+
run: >
69+
npm ci
70+
--ignore-scripts
71+
--prefer-offline
5572
- name: Verify code linting
5673
run: npm run lint
5774

@@ -60,15 +77,31 @@ jobs:
6077
runs-on: ubuntu-latest
6178
if: ${{ github.event.pull_request }}
6279
steps:
63-
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
80+
- uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
81+
if: ${{ matrix.os == 'ubuntu-latest' }}
82+
with:
83+
egress-policy: audit
84+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
6485
with:
6586
fetch-depth: 0
66-
- name: Use Node.js 16
67-
uses: actions/setup-node@v3
87+
- name: Use Node.js 20
88+
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
6889
with:
69-
node-version: 16
90+
node-version: 20
91+
cache: npm
7092
- name: Bootstrap project
71-
run: |
72-
npm ci --ignore-scripts
93+
run:
94+
npm ci
95+
--ignore-scripts
96+
--prefer-offline
7397
- name: Verify commit linting
74-
run: npx commitlint --from origin/master --to HEAD --verbose
98+
run: >
99+
npm exec
100+
--no-install
101+
--package=@commitlint/cli
102+
--
103+
commitlint
104+
--from=origin/master
105+
--to=HEAD
106+
--verbose
107+

0 commit comments

Comments
 (0)