2525 branches :
2626 - ' *'
2727
28- permissions :
29- contents : read
30- security-events : write
31-
3228jobs :
29+ codeql :
30+ name : CodeQL Analysis
31+ runs-on : ubuntu-latest
32+
33+ permissions :
34+ contents : read
35+ security-events : write
36+
37+ steps :
38+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
39+ with :
40+ persist-credentials : false
41+ fetch-depth : 1
42+
43+ - uses : github/codeql-action/init@9e0d7b8d25671d64c341c19c0152d693099fb5ba # v4.35.5
44+ with :
45+ languages : javascript
46+ queries : security-and-quality
47+ config : |
48+ paths-ignore:
49+ - coverage
50+ - node_modules
51+
52+ - uses : github/codeql-action/analyze@9e0d7b8d25671d64c341c19c0152d693099fb5ba # v4.35.5
53+
3354 test :
3455 name : NodeJS ${{ matrix.node.version }} on ${{ matrix.os }}
3556 runs-on : ${{ matrix.os }}
3657
58+ permissions :
59+ contents : read
60+
3761 strategy :
3862 matrix :
63+ os : [ubuntu-latest, macos-26]
64+ # The "--test-coverage-exclude" flag is supported in v22.5.0 and later.
65+ # By default, all matching test files are excluded from the coverage report.
66+ # Only Node.js 22.x requires explicitly declaring test file exclusions.
3967 node :
4068 - version : 20.x
69+ options : ' '
4170 - version : 22.x
42- options : --test-coverage-exclude=" test/**/*.js"
71+ options : --test-coverage-exclude=test/**/*.js
4372 - version : 24.x
44- os : [ubuntu-latest, macos-15]
73+ options : ' '
4574
4675 steps :
4776 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
@@ -51,28 +80,18 @@ jobs:
5180
5281 - uses : actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
5382 with :
54- node- version : ${{ matrix.node.version }}
83+ node. version : ${{ matrix.node.version }}
5584
5685 - name : Environment Information
5786 run : |
5887 node --version
5988 npm --version
6089
61- - uses : github/codeql-action/init@9e0d7b8d25671d64c341c19c0152d693099fb5ba # v4.35.5
62- with :
63- languages : javascript
64- queries : security-and-quality
65- config : |
66- paths-ignore:
67- - coverage
68- - node_modules
69-
7090 - name : npm install and test
7191 run : npm cit
7292 env :
7393 CI : true
74-
75- - uses : github/codeql-action/analyze@9e0d7b8d25671d64c341c19c0152d693099fb5ba # v4.35.5
94+ NODE_OPTIONS : ${{ matrix.node.options }}
7695
7796 - uses : codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0
7897 if : success()
0 commit comments