-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Related: https://issues.redhat.com/browse/OSH-347 Reproducer: csmock -t snyk --force -r rhel-8-x86_64 osbuild-106-1.el10+4.src.rpm Added the stats from snyk results (snyk coverage rate, analyzed files and total of files) to the metadata file.
- Loading branch information
1 parent
9befcc3
commit f2fbe35
Showing
2 changed files
with
40 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# standard imports | ||
import json | ||
|
||
|
||
def snyk_write_analysis_meta(results, results_file): | ||
Check warning Code scanning / vcs-diff-lint snyk_write_analysis_meta: Missing function or method docstring Warning
snyk_write_analysis_meta: Missing function or method docstring
|
||
try: | ||
with open(results_file) as snyk_results_file: | ||
Check warning Code scanning / vcs-diff-lint snyk_write_analysis_meta: Using open without explicitly specifying an encoding Warning
snyk_write_analysis_meta: Using open without explicitly specifying an encoding
|
||
data = json.load(snyk_results_file) | ||
coverage_stats = data["runs"][0]["properties"]["coverage"] | ||
total_files = 0 | ||
supported_files = 0 | ||
for lang in coverage_stats: | ||
total_files += lang["files"] | ||
if lang["type"] == "SUPPORTED": | ||
supported_files += lang["files"] | ||
|
||
coverage_ratio = 0 | ||
if total_files > 0: | ||
coverage_ratio = int(supported_files * 100 / total_files) | ||
|
||
results.ini_writer.append("snyk-scanned-files-coverage", coverage_ratio) | ||
results.ini_writer.append("snyk-scanned-files-success", supported_files) | ||
results.ini_writer.append("snyk-scanned-files-total", total_files) | ||
|
||
return 0 | ||
|
||
except OSError as e: | ||
results.error(f"snyk-scan: snyk-results.sarif file not found: {e}") | ||
return 1 | ||
|
||
except KeyError as e: | ||
results.error(f"snyk-scan: error parsing results from snyk-results.sarif file: {e}") | ||
return 1 | ||
Check warning Code scanning / vcs-diff-lint Final newline missing Warning
Final newline missing
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters