1010 CARGO_TERM_COLOR : always
1111
1212jobs :
13- queries :
14- runs-on : ubuntu-latest
13+ analyze :
14+ runs-on : ubuntu-latest-xl
1515 steps :
16+ # ## Build the queries ###
1617 - uses : actions/checkout@v3
1718 - name : Find codeql
1819 id : find-codeql
4849 name : query-pack-zip
4950 path : ${{ runner.temp }}/query-pack.zip
5051
51- extractors :
52- runs-on : ubuntu-latest
53-
54- steps :
55- - uses : actions/checkout@v3
52+ # ## Build the extractor ###
5653 - name : Cache entire extractor
5754 id : cache-extractor
5855 uses : actions/cache@v3
9693 ql/target/release/ql-extractor
9794 ql/target/release/ql-extractor.exe
9895 retention-days : 1
99- package :
100- runs-on : ubuntu-latest
101-
102- needs :
103- - extractors
104- - queries
10596
106- steps :
107- - uses : actions/checkout@v3
97+ # ## Package the queries and extractor ###
10898 - uses : actions/download-artifact@v3
10999 with :
110100 name : query-pack-zip
@@ -132,16 +122,8 @@ jobs:
132122 name : codeql-ql-pack
133123 path : codeql-ql.zip
134124 retention-days : 1
135- analyze :
136- runs-on : ubuntu-latest
137- strategy :
138- matrix :
139- folder : [cpp, csharp, java, javascript, python, ql, ruby, swift, go]
140-
141- needs :
142- - package
143125
144- steps :
126+ # ## Run the analysis ###
145127 - name : Download pack
146128 uses : actions/download-artifact@v3
147129 with :
@@ -161,22 +143,18 @@ jobs:
161143 env :
162144 PACK : ${{ runner.temp }}/pack
163145
164- - name : Checkout repository
165- uses : actions/checkout@v3
166146 - name : Create CodeQL config file
167147 run : |
168- echo "paths:" > ${CONF}
169- echo " - ${FOLDER}" >> ${CONF}
170148 echo "paths-ignore:" >> ${CONF}
171149 echo " - ql/ql/test" >> ${CONF}
150+ echo " - \"*/ql/lib/upgrades/\"" >> ${CONF}
172151 echo "disable-default-queries: true" >> ${CONF}
173152 echo "packs:" >> ${CONF}
174153 echo " - codeql/ql" >> ${CONF}
175154 echo "Config file: "
176155 cat ${CONF}
177156 env :
178157 CONF : ./ql-for-ql-config.yml
179- FOLDER : ${{ matrix.folder }}
180158 - name : Initialize CodeQL
181159 uses : github/codeql-action/init@aa93aea877e5fb8841bcb1193f672abf6e9f2980
182160 with :
@@ -187,39 +165,24 @@ jobs:
187165 - name : Perform CodeQL Analysis
188166 uses : github/codeql-action/analyze@aa93aea877e5fb8841bcb1193f672abf6e9f2980
189167 with :
190- category : " ql-for-ql-${{ matrix.folder }} "
168+ category : " ql-for-ql"
191169 - name : Copy sarif file to CWD
192- run : cp ../results/ql.sarif ./${{ matrix.folder }} .sarif
170+ run : cp ../results/ql.sarif ./ql-for-ql .sarif
193171 - name : Fixup the $scema in sarif # Until https://github.com/microsoft/sarif-vscode-extension/pull/436/ is part in a stable release
194172 run : |
195- sed -i 's/\$schema.*/\$schema": "https:\/\/raw.githubusercontent.com\/oasis-tcs\/sarif-spec\/master\/Schemata\/sarif-schema-2.1.0",/' ${{ matrix.folder }} .sarif
173+ sed -i 's/\$schema.*/\$schema": "https:\/\/raw.githubusercontent.com\/oasis-tcs\/sarif-spec\/master\/Schemata\/sarif-schema-2.1.0",/' ql-for-ql .sarif
196174 - name : Sarif as artifact
197175 uses : actions/upload-artifact@v3
198176 with :
199- name : ${{ matrix.folder }}.sarif
200- path : ${{ matrix.folder }}.sarif
201-
202- combine :
203- runs-on : ubuntu-latest
204- needs :
205- - analyze
206-
207- steps :
208- - uses : actions/checkout@v3
209- - name : Make a folder for artifacts.
210- run : mkdir -p results
211- - name : Download all sarif files
212- uses : actions/download-artifact@v3
213- with :
214- path : results
215- - uses : actions/setup-node@v3
216- with :
217- node-version : 16
218- - name : Combine all sarif files
219- run : |
220- node ./ql/scripts/merge-sarif.js results/**/*.sarif combined.sarif
221- - name : Upload combined sarif file
177+ name : ql-for-ql.sarif
178+ path : ql-for-ql.sarif
179+ - name : Split out the sarif file into langs
180+ run : |
181+ mkdir split-sarif
182+ node ./ql/scripts/split-sarif.js ql-for-ql.sarif split-sarif
183+ - name : Upload langs as artifacts
222184 uses : actions/upload-artifact@v3
223185 with :
224- name : combined.sarif
225- path : combined.sarif
186+ name : ql-for-ql-langs
187+ path : split-sarif
188+ retention-days : 1
0 commit comments