mirror of
https://github.com/safedep/vet.git
synced 2025-12-11 01:01:10 -06:00
chore: Update markdown summary report format
This commit is contained in:
parent
cbdec10ca6
commit
bfa63005e6
@ -1,6 +1,7 @@
|
||||
package reporter
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"net/url"
|
||||
"os"
|
||||
@ -50,6 +51,7 @@ func NewMarkdownSummaryReporter(config MarkdownSummaryReporterConfig) (Reporter,
|
||||
}
|
||||
|
||||
// TOCTOU here but not a big risk
|
||||
// We will delete this file on Finish()
|
||||
tmpFile.Close()
|
||||
|
||||
jsonReporter, err := NewJsonReportGenerator(JsonReportingConfig{
|
||||
@ -104,19 +106,34 @@ func (r *markdownSummaryReporter) Finish() error {
|
||||
}
|
||||
|
||||
var report jsonreportspec.Report
|
||||
err = utils.FromPbJson(strings.NewReader(string(data)), &report)
|
||||
|
||||
err = utils.FromPbJson(bytes.NewReader(data), &report)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to parse JSON report: %w", err)
|
||||
}
|
||||
|
||||
internalModel, err := r.buildInternalModel(&report)
|
||||
builder := markdown.NewMarkdownBuilder()
|
||||
err = r.buildMarkdownReport(builder, &report)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to build markdown report: %w", err)
|
||||
}
|
||||
|
||||
err = os.WriteFile(r.config.Path, []byte(builder.Build()), 0600)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to write markdown summary to file: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *markdownSummaryReporter) buildMarkdownReport(builder *markdown.MarkdownBuilder,
|
||||
report *jsonreportspec.Report) error {
|
||||
internalModel, err := r.buildInternalModel(report)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to build internal data model: %w", err)
|
||||
}
|
||||
|
||||
builder := markdown.NewMarkdownBuilder()
|
||||
builder.AddHeader(1, r.config.ReportTitle)
|
||||
builder.AddParagraph("This report is generated by [vet](https://github.com/safedep/vet)")
|
||||
|
||||
err = r.addPolicyCheckSection(builder, internalModel)
|
||||
if err != nil {
|
||||
@ -138,11 +155,6 @@ func (r *markdownSummaryReporter) Finish() error {
|
||||
return fmt.Errorf("failed to add violations section: %w", err)
|
||||
}
|
||||
|
||||
err = os.WriteFile(r.config.Path, []byte(builder.Build()), 0600)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to write markdown summary to file: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user