Skip to content

Commit 6d0bcea

Browse files
committed
Matrix over analysis-kinds in quality-queries check
1 parent 38f1a70 commit 6d0bcea

File tree

3 files changed

+65
-2
lines changed

3 files changed

+65
-2
lines changed

.github/workflows/__quality-queries.yml

Lines changed: 47 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pr-checks/checks/quality-queries.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: "Quality queries input"
22
description: "Tests that queries specified in the quality-queries input are used."
33
versions: ["linked", "nightly-latest"]
4+
analysisKinds: ["code-scanning", "code-quality", "code-scanning,code-quality"]
45
env:
56
CHECK_SCRIPT: |
67
const fs = require('fs');
@@ -29,32 +30,36 @@ steps:
2930
- uses: ./../action/init
3031
with:
3132
languages: javascript
32-
analysis-kinds: code-scanning,code-quality
33+
analysis-kinds: ${{ matrix.analysis-kinds }}
3334
tools: ${{ steps.prepare-test.outputs.tools-url }}
3435
- uses: ./../action/analyze
3536
with:
3637
output: "${{ runner.temp }}/results"
3738
upload-database: false
3839
- name: Upload security SARIF
40+
if: contains(matrix.analysis-kinds, 'code-scanning')
3941
uses: actions/upload-artifact@v4
4042
with:
4143
name: quality-queries-${{ matrix.os }}-${{ matrix.version }}.sarif.json
4244
path: "${{ runner.temp }}/results/javascript.sarif"
4345
retention-days: 7
4446
- name: Upload quality SARIF
47+
if: contains(matrix.analysis-kinds, 'code-quality')
4548
uses: actions/upload-artifact@v4
4649
with:
4750
name: quality-queries-${{ matrix.os }}-${{ matrix.version }}.quality.sarif.json
4851
path: "${{ runner.temp }}/results/javascript.quality.sarif"
4952
retention-days: 7
5053
- name: Check quality query does not appear in security SARIF
54+
if: contains(matrix.analysis-kinds, 'code-scanning')
5155
uses: actions/github-script@v7
5256
env:
5357
SARIF_PATH: "${{ runner.temp }}/results/javascript.sarif"
5458
EXPECT_PRESENT: "false"
5559
with:
5660
script: ${{ env.CHECK_SCRIPT }}
5761
- name: Check quality query appears in quality SARIF
62+
if: contains(matrix.analysis-kinds, 'code-quality')
5863
uses: actions/github-script@v7
5964
env:
6065
SARIF_PATH: "${{ runner.temp }}/results/javascript.quality.sarif"

pr-checks/sync.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,18 @@ def writeHeader(checkStream):
102102
if checkSpecification.get('useAllPlatformBundle'):
103103
useAllPlatformBundle = checkSpecification['useAllPlatformBundle']
104104

105+
106+
if 'analysisKinds' in checkSpecification:
107+
newMatrix = []
108+
for matrixInclude in matrix:
109+
for analysisKind in checkSpecification.get('analysisKinds'):
110+
newMatrix.append(
111+
matrixInclude |
112+
{ 'analysis-kinds': analysisKind }
113+
)
114+
matrix = newMatrix
115+
116+
# Construct the workflow steps needed for this check.
105117
steps = [
106118
{
107119
'name': 'Check out repository',

0 commit comments

Comments
 (0)