Skip to content

Commit b62df5a

Browse files
author
Benjamin Muskalla
authored
Merge pull request github#7872 from bmuskalla/fixCoverageCollection
Collect framework coverage on demand
2 parents eff0ca0 + ff8a96b commit b62df5a

File tree

6 files changed

+60
-9
lines changed

6 files changed

+60
-9
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: "Publish framework coverage as metrics"
2+
3+
on:
4+
schedule:
5+
- cron: '5 0 * * *'
6+
push:
7+
branches:
8+
- main
9+
workflow_dispatch:
10+
pull_request:
11+
branches:
12+
- main
13+
paths:
14+
- ".github/workflows/csv-coverage-metrics.yml"
15+
16+
jobs:
17+
publish:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v2
22+
- name: Setup CodeQL
23+
uses: ./.github/actions/fetch-codeql
24+
- name: Create empty database
25+
run: |
26+
DATABASE="${{ runner.temp }}/java-database"
27+
PROJECT="${{ runner.temp }}/java-project"
28+
mkdir -p "$PROJECT/src/tmp/empty"
29+
echo "class Empty {}" >> "$PROJECT/src/tmp/empty/Empty.java"
30+
codeql database create "$DATABASE" --language=java --source-root="$PROJECT" --command 'javac src/tmp/empty/Empty.java'
31+
- name: Capture coverage information
32+
run: |
33+
DATABASE="${{ runner.temp }}/java-database"
34+
codeql database analyze --format=sarif-latest --output=metrics.sarif -- "$DATABASE" ./java/ql/src/Metrics/Summaries/FrameworkCoverage.ql
35+
- uses: actions/upload-artifact@v2
36+
with:
37+
name: metrics.sarif
38+
path: metrics.sarif
39+
retention-days: 20
40+
- name: Upload SARIF file
41+
uses: github/codeql-action/upload-sarif@v1
42+
with:
43+
sarif_file: metrics.sarif

java/ql/src/Diagnostics/CoverageDiagnostics.ql renamed to java/ql/src/Metrics/Summaries/FrameworkCoverage.ql

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
/**
2-
* @name Diagnostics for framework coverage
3-
* @description Expose diagnostics for the number of API endpoints covered by CSV models.
4-
* @kind diagnostic
5-
* @id java/diagnostics/framework-coverage
2+
* @id java/summary/framework-coverage
3+
* @name Metrics of framework coverage
4+
* @description Expose metrics for the number of API endpoints covered by CSV models.
5+
* @kind metric
6+
* @tags summary
67
*/
78

89
import java

misc/suite-helpers/code-scanning-selectors.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,6 @@
2424
- exclude:
2525
deprecated: //
2626
- exclude:
27-
query path: /^experimental\/.*/
27+
query path:
28+
- /^experimental\/.*/
29+
- Metrics/Summaries/FrameworkCoverage.ql

misc/suite-helpers/lgtm-selectors.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,6 @@
2222
- exclude:
2323
deprecated: //
2424
- exclude:
25-
query path: /^experimental\/.*/
25+
query path:
26+
- /^experimental\/.*/
27+
- Metrics/Summaries/FrameworkCoverage.ql

misc/suite-helpers/security-and-quality-selectors.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,7 @@
2525
- exclude:
2626
deprecated: //
2727
- exclude:
28-
query path: /^experimental\/.*/
28+
query path:
29+
- /^experimental\/.*/
30+
- Metrics/Summaries/FrameworkCoverage.ql
2931

misc/suite-helpers/security-extended-selectors.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,6 @@
3030
- exclude:
3131
deprecated: //
3232
- exclude:
33-
query path: /^experimental\/.*/
34-
33+
query path:
34+
- /^experimental\/.*/
35+
- Metrics/Summaries/FrameworkCoverage.ql

0 commit comments

Comments
 (0)