func()

in dev/testsreporter/reporter.go [34:76]


func (r reporter) Report(ctx context.Context, issue *githubIssue, resultError failureObserver) error {
	links, nextIssue, err := r.updateLinks(ctx, issue, resultError.FirstBuild())
	if err != nil {
		return fmt.Errorf("failed to update links from the error: %w", err)
	}

	resultError.UpdateLinks(*links)

	formatter := resultsFormatter{
		result:           resultError,
		maxPreviousLinks: r.maxPreviousLinks,
	}

	description, err := formatter.Description()
	if err != nil {
		return err
	}

	summary, err := formatter.Summary()
	if err != nil {
		return fmt.Errorf("failed to render issue summary: %w", err)
	}

	nextIssue.SetDescription(description)
	nextIssue.AddLabels(resultError.Labels())

	fmt.Println()
	fmt.Println("---- Issue ----")
	fmt.Printf("Title: %q\n", formatter.Title())
	fmt.Printf("Teams: %q\n", strings.Join(formatter.Owners(), ", "))
	fmt.Printf("Labels: %s\n", strings.Join(nextIssue.Labels(), ", "))
	fmt.Printf("Summary:\n%s", summary)
	fmt.Println("----")
	fmt.Println()
	if r.verbose {
		fmt.Println("---- Full Description ----")
		fmt.Print(description)
		fmt.Println("----")
		fmt.Println()
	}

	return r.createOrUpdateIssue(ctx, nextIssue)
}