func newPackageError()

in dev/testsreporter/packageerror.go [39:69]


func newPackageError(options packageErrorOptions) (*packageError, error) {
	p := packageError{
		dataError: dataError{
			serverless:        options.Serverless,
			serverlessProject: options.ServerlessProject,
			logsDB:            options.LogsDB,
			stackVersion:      options.StackVersion,
			subscription:      options.Subscription,
			errorLinks: errorLinks{
				firstBuild:     options.BuildURL,
				closedIssueURL: options.ClosedIssueURL,
				previousBuilds: options.PreviousBuilds,
			},
		},
		testCase: options.TestCase,
		teams:    options.Teams,
	}

	p.packageName = p.testCase.PackageName()
	p.dataStream = p.testCase.DataStream()

	if len(options.Teams) == 0 {
		owners, err := codeowners.PackageOwners(p.packageName, p.dataStream, options.CodeownersPath)
		if err != nil {
			return nil, fmt.Errorf("failed to find owners for package %s: %w", p.packageName, err)
		}
		p.teams = owners
	}

	return &p, nil
}